我正在使用visual让libjingle在windows7上工作。我按照GYP方法构建了lib jingle,并在执行libjingle.sln文件后获得了libs。
现在,当我试图运行pcp_main.cc文件时,我遇到了链接器错误,在做了一些工作之后,剩下了5个链接器错误。有人能帮我解决这些错误吗?
错误5错误LNK1120: 4未解决的外部文件C:\Users\username\ 2012\Projects\PCPTest\Debug\PCPTest.exe \visual studio 2012\Projects\PCPTest\Debug\PCPTest.exe错误3 LNK2001:未解决的外部符号“受保护:虚拟bool __thiscall buzz::JingleInfoTask::HandleStanza(类:XmlElement *)” 错误1错误LNK2001:未解决的外部符号"public: virtual __thiscall buzz::静乐int::ProcessStart(Void)“(?ProcessStart@JingleInfoTask@int@@UAEHXZ) C:\Users\username\documents\visual studio 2012\Projects\PCPTest\PCPTest\pcp_main.obj 错误2错误LNK2019:未解决的外部符号"public: void __thiscall LNK2019在函数中引用"public: void__thiscall AutoPortAllocator::SetXmppClient(类buzz::XmppClient *)“(?SetXmppClient@AutoPortAllocator@@QAEXPAVXmppClient@buzz@@@Z) C:\(?SetXmppClient@AutoPortAllocator@@QAEXPAVXmppClient@buzz@@@Z)\username\documents\visual studio 2012\Projects\PCPTest\PCPTest\pcp_main.obj 错误4错误LNK2019:函数"bool __cdecl talk_base::GetIeLanProxySettings(char const *,struct talk_base::ProxyInfo *)“中引用的未解析的外部符号_imp_InternetQueryOptionW@16
我的包含文件夹指向
C:\Users\username\Desktop\libjingle\trunk\testing C:\Users\username\Desktop\libjingle\主干\
和lib文件夹到
C:\Users\username\Desktop\libjingle\trunk\build\Debug\lib
其他依赖项具有所有可用库的绝对路径。
C:\Users\username\Desktop\libjingle\trunk\build\Debug\lib\audio_processing_sse2.lib
C:\Users\username\Desktop\libjingle\trunk\build\Debug\lib\bitrate_controller.lib
C:\Users\username\Desktop\libjingle\trunk\build\Debug\lib\CNG.lib
...
...
...我正在使用的源代码就在这里。
http://pastebin.com/GATFYWnW
发布于 2013-07-15 05:44:56
找到答案了!
可以通过添加以下行来删除错误4
#pragma comment(lib, "Wininet.lib")其余的错误对应于jingleInfoTask.cc和静乐Infotask.h文件。看到解决方案文件(libjingle.sln)在构建库时没有这些文件,这有点令人惊讶。所做的工作是将jingleinfotask.cc和jingleinfotask.h文件添加到xmpp文件夹中,并重新构建libjingle.sln文件。
这将生成jingleinfotask.obj和所需的库文件。确保将生成的lib文件指向项目属性的linker部分中的附加依赖项部分。
https://stackoverflow.com/questions/17638573
复制相似问题