在DLL中调用函数

时间:2016-01-06 05:02:30

标签: c++ function export

ALL,

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

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

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

int Foo();
  

Foo():找不到标识符。

我尝试导出Foo()函数,但它没有改变任何东西。

解决问题的最佳方法是什么?

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为@Captain指出了可能的错误。我将添加一些可能有助于您更好地处理链接的要点。

分别了解编译器和链接器错误很有用。您可以使用-c标志编译客户端代码,该标志仅提供编译器中包含未找到标识符的错误。这些错误与您的库无关,根本不需要库。一旦清除了这些错误,就可以在没有-c标志的情况下编译(你可以使用用-c标志而不是.cpp生成的.o对象文件)和你的库来链接并生成一个可执行文件。