我正在努力让libjingle使用visual studio在windows7上工作。我遵循GYP方法来构建lib jingle并在执行libjingle.sln文件后获得了lib。
现在,当我尝试运行pcp_main.cc文件时,我遇到了链接器错误,经过一些解决后,我遇到了5个链接器错误。有人可以帮我解决这些错误吗?
错误5错误LNK1120:4个未解析的外部C:\ Users \ username \ documents \ visual studio 2012 \ Projects \ PCPTest \ Debug \ PCPTest.exe错误3错误LNK2001: 未解决的外部符号“protected:virtual bool __thiscall buzz :: JingleInfoTask :: HandleStanza(类buzz :: XmlElement const *)“ (?HandleStanza @ JingleInfoTask @ buzz @@ MAE_NPBVXmlElement @ 2 @@ Z)C:\ Users \ username \ documents \ visual studio 2012 \ Projects \ PCPTest \ PCPTest \ pcp_main.obj
错误1错误LNK2001:未解析的外部符号“public:virtual int __thiscall buzz :: JingleInfoTask :: ProcessStart(void)“(?ProcessStart @ JingleInfoTask @ buzz @@ UAEHXZ)C:\ Users \ username \ documents \ visual studio 2012 \ Projects \ PCPTest \ PCPTest \ pcp_main.obj
错误2错误LNK2019:未解析的外部符号“public:void __thiscall buzz :: JingleInfoTask :: RefreshJingleInfoNow(void)“(?RefreshJingleInfoNow @ JingleInfoTask @ buzz @@ QAEXXZ)在 功能“public:void __thiscall AutoPortAllocator :: SetXmppClient(类buzz :: XmppClient *)“ (?SetXmppClient @ AutoPortAllocator @@ QAEXPAVXmppClient @ buzz @@@ Z)C:\ Users \ username \ documents \ visual studio 2012 \ Projects \ PCPTest \ PCPTest \ pcp_main.obj
错误4错误LNK2019:未解析的外部符号 _ imp _InternetQueryOptionW @ 16在函数“bool __cdecl talk_base :: GetIeLanProxySettings(char const *,struct)中引用 talk_base :: ProxyInfo *)“ (?GetIeLanProxySettings @ talk_base @@ YA_NPBDPAUProxyInfo @ 1 @@ Z)C:\ Users \ username \ documents \ visual studio 2012 \ Projects \ PCPTest \ PCPTest \ libjingle.lib(proxydetect.obj)
我的包含文件夹指向
C:\ Users \用户名\桌面\设的Libjingle \树干\测试 C:\ Users \用户名\桌面\设的Libjingle \树干\
和lib文件夹
C:\ Users \用户名\桌面\设的Libjingle \树干\构建\调试\ 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
...
...
...
我正在使用的源代码存在于此处。
答案 0 :(得分:0)
得到了答案!
可以通过添加以下行
来删除错误4#pragma comment(lib, "Wininet.lib")
其余错误对应于jingleInfoTask.cc和JingleInfotask.h文件。看到解决方案文件(libjingle.sln)在构建库时没有这些文件,这有点令人惊讶。解决方法是将jingleinfotask.cc和jingleinfotask.h文件添加到xmpp文件夹中并重新构建libjingle.sln文件。
这将产生jingleinfotask.obj和所需的lib文件。确保将生成的lib文件指向项目属性的链接器部分中的其他依赖项部分。