C++ 将QuickFix与VC+一起使用时出错+;在VisualStudio2010中(utility.obj)

C++ 将QuickFix与VC+一起使用时出错+;在VisualStudio2010中(utility.obj),c++,windows,sockets,tcp,quickfix,C++,Windows,Sockets,Tcp,Quickfix,下面是: 我下载了QuickFix源代码,使用CMake构建了它,并获得了.sln文件 然后我在VC++2010中打开了.sln文件并构建了名为“quickfix_vs10”的项目 (实际上,我构建了一个名为quickFix.lib的库)并收到了一些警告,但构建失败了 成功 然后,我在另一个项目中使用了这个.lib文件,使用了#pragma注释(lib,“quickFix.lib”) 每当我在我的项目中声明类FIX::Transact-Time的实例时,我都会得到很多 链接时间错误。所有这些都与

下面是:

  • 我下载了QuickFix源代码,使用CMake构建了它,并获得了.sln文件

  • 然后我在VC++2010中打开了.sln文件并构建了名为“quickfix_vs10”的项目 (实际上,我构建了一个名为quickFix.lib的库)并收到了一些警告,但构建失败了 成功

  • 然后,我在另一个项目中使用了这个.lib文件,使用了#pragma注释(lib,“quickFix.lib”)

  • 每当我在我的项目中声明类FIX::Transact-Time的实例时,我都会得到很多 链接时间错误。所有这些都与utility.obj中的未解析令牌有关。 如果我使用任何其他类,这些错误不会出现

  • 其中一个错误是:

    quickFix.lib(Utility.obj):错误LNK2028:未解析的令牌(0A000426)“外部”C“int\uu stdcall getpeername(unsigned int,struct sockaddr*,int*)”(?getpeername@$$J212YGHIPAUsockaddr)@@PAH@Z)在函数“char const*uu cdecl FIX::socket\u peername(int)”中引用(?socket_peername@FIX@@$$FYAPBDH@Z)


    错误消息表明您需要链接
    “Ws2_32.lib”


    请参阅参考资料

    这不是一个解释性很强的答案,但它告诉我“Ws2_32.lib”解决了我的问题。我刚刚介绍了行#pragma comment(lib,“Ws2_32.lib”),它解决了我的问题。我的想法是通过链接实现的: