C++ 错误LNK2019:函数“中引用的未解析外部符号khpu”;私有:无效\uuu cdecl
我从-#pragma comment(lib,“c.obj”)中添加了c.obj 但我得到了这个错误C++ 错误LNK2019:函数“中引用的未解析外部符号khpu”;私有:无效\uuu cdecl,c++,kdb,C++,Kdb,我从-#pragma comment(lib,“c.obj”)中添加了c.obj 但我得到了这个错误 \3rdParty\kdb\c.obj : warning LNK4003: invalid library format; library ignored 5>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library error LNK
\3rdParty\kdb\c.obj : warning LNK4003: invalid library format; library ignored
5>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
error LNK2019: unresolved external symbol k referenced in function "public: virtual void __cdecl...
error LNK2019: unresolved external symbol ktd referenced in function "private: void __cdecl ...
error LNK2019: unresolved external symbol khpu referenced in function "private: void __cdecl ...
fatal error LNK1120: 3 unresolved externals
我在谷歌上尝试了所有东西,但似乎都不管用。#pragma comment lib
不接受对象文件,只接受库。我看到您有一个c.lib文件,我假设这是您需要包含在pragma指令中的库文件,因此将其更改为#pragma comment(lib,“c.lib”)
,如图所示:
#pragma comment( lib, "commenstring" )
lib
在对象文件中放置库搜索记录。此注释类型必须附带commentstring参数,该参数包含链接器要搜索的库的名称(可能还有路径)
它搜索库而不是对象文件
您应该有一个.lib
文件包含在此pragma
指令中
应该是这样的:
#pragma comment( lib, "c.lib" )
我尝试了c.lib,然后发现一个错误->未找到c.dll,即使它与c在同一个文件夹中。lib@user2256532我想你在执行时会犯这个错误。将c.dll放入二进制文件夹。是。。执行过程中发生错误。。binary文件夹在哪里?@user2256532您的项目目录中应该有一个
bin/Release
或bin/Debug
。例如,如果您是在调试中编译,只需将c.dll
复制到您的\u项目\u文件夹\bin\debug
中即可。。谢谢,有什么方法可以引用其他文件夹吗?我尝试了c.lib,然后发现一个错误->c.dll未找到,即使它与c.lib位于同一文件夹中。您应该检查c.dll是否位于为可执行文件配置的路径中(遗憾的是,我没有visual studio提供详细信息)。但是,此路径与输入库路径不同。