0

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

error LNK2001: unresolved external symbol __CAP_EXIT_Function

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

关于去哪里的任何线索?

顺便说一句,我正在使用 VS2008

谢谢

4

3 回答 3

1

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

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

此外,如果您在与您的项目相同的解决方案中有一个 vcproj 文件,您可以右键单击您的项目并为其他库设置依赖项。这样,您就不需要如上所述指定额外的库。

于 2009-11-11T16:30:07.557 回答
0

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

#include "MyDll.h"

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

MyDll::MyFunctions::Function();
于 2009-11-11T16:41:54.580 回答
0

该库是C库吗?在这种情况下,您需要标头中的函数的外部“C”,也许缺少?

例如

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

或者

   extern "C" void foo();
于 2009-11-11T16:45:22.590 回答