1

我从https://github.com/KxSystems/kdb/tree/master/w64添加了 c.obj - #pragma comment(lib, "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

我已经在谷歌那里尝试了所有东西,但似乎没有任何效果。

4

2 回答 2

0

#pragma comment lib不接受目标文件,只接受库。我看到您有一个 c.lib 文件,并且我认为这是您需要包含在 pragma 指令中的库文件,因此将其更改为#pragma comment( lib, "c.lib")

于 2013-08-19T08:12:20.923 回答
0

Microsoft 文档中,据说:

#pragma comment( lib, "commenstring" )

在目标文件中放置一个库搜索记录。此注释类型必须附带一个注释字符串参数,该参数包含您希望链接器搜索的库的名称(可能还有路径) 。

它搜索库而不是目标文件。

您应该有一个.lib包含在此pragma指令中的文件。

它应该是这样的:

#pragma comment( lib, "c.lib" )
于 2013-08-19T08:29:05.537 回答