C ++未解析的符号

时间:2009-11-11 16:20:05

标签: c++ linker unresolved-external

我在我的项目中链接时遇到了一个未解决的符号错误。我链接到外部库,是的,我已正确设置配置,但在调试时,它为外部库中的每个类输出以下错误:

error LNK2001: unresolved external symbol __CAP_EXIT_Function

proj使用与外部库相同的运行时dll,并链接到lib的调试版本。

关于去哪里的任何线索?

BTW,即时通讯使用VS2008

由于

3 个答案:

答案 0 :(得分:1)

您似乎正在使用/callcap switch但未定义回调函数。请参阅上一个链接并实现回调函数。

对于其他库链接错误。检查以确保在链接器属性的附加包含部分中指定.lib文件?

此外,如果您的vcproj文件与项目位于同一解决方案中,则可以右键单击项目并为其他库设置依赖项。这样,您就不需要像上面提到的那样指定一个额外的库。

答案 1 :(得分:0)

lib是C lib吗?在这种情况下,标题中的函数需要extern“C”,可能是缺少的吗?

e.g。

extern "C"
{
  void foo(); 
   ...
}

   extern "C" void foo();

答案 2 :(得分:-1)

您是否包含了可能需要的所有头文件?您仍然需要添加

#include "MyDll.h"

即使在添加对dll的引用并将其所在的目录添加到include目录路径之后也是如此。 然后你可以像这样使用dll中的函数。

MyDll::MyFunctions::Function();