调用DLL内部的函数

Calling a function inside DLL

本文关键字:函数 内部 DLL 调用      更新时间:2023-10-16

ALL,

我有一个DLL,从中导出一个函数。只有一个C++文件包含源代码。

事实证明,我需要向源C++文件添加一个函数,并从导出的函数中调用该函数。不幸的是MSVC 2010抛出了一个错误:

extern "C" declspec(__dllexport) ExportedFunc()
{
    int result = Foo();
}
int Foo();

Foo():找不到标识符。

我试图导出Foo()函数,但它没有改变任何内容。

修复它的最佳方法是什么?

谢谢。

我认为@Captain已经指出了可能的错误。我只想补充一些可能有助于你更好地处理链接的要点。

分别了解编译器和链接器错误是很有用的。您可以使用-c标志编译客户端代码,该标志只会从编译器中给出错误,其中包括找不到的标识符。这些错误与库无关,根本不需要库。清除这些错误后,在不使用-c标志的情况下编译(可以使用使用-c标志而不是.cpp生成的.o对象文件)和库来链接并生成可执行文件。