我在我的项目中链接时遇到了一个未解决的符号错误。我链接到外部库,是的,我已正确设置配置,但在调试时,它为外部库中的每个类输出以下错误:
error LNK2001: unresolved external symbol __CAP_EXIT_Function
proj使用与外部库相同的运行时dll,并链接到lib的调试版本。
关于去哪里的任何线索?
BTW,即时通讯使用VS2008
由于
答案 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();