C++ 错误LNK2019:函数“中引用的未解析外部符号khpu”;私有:无效\uuu cdecl

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

我从-#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 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提供详细信息)。但是,此路径与输入库路径不同。