0

Visual Studioを使用して、Windows 7でlibjingleを動作させるために取り組んでいます。GYP 方法論に従って lib jingle をビルドし、libjingle.sln ファイルを実行した後にライブラリを取得しました。

今、pcp_main.cc ファイルを実行しようとすると、リンカ エラーが発生しました。いくつかの回避策の後、5 つのリンカ エラーが残っていました。これらのエラーを解決する方法を教えてもらえますか?

エラー 5 エラー LNK1120: 4 つの未解決の外部 C:\Users\username\documents\visual studio 2012\Projects\PCPTest\Debug\PCPTest.exe エラー 3 エラー LNK2001: 未解決の外部シンボル "保護: 仮想ブール __thiscall のバズ::JingleInfoTask:: HandleStanza(クラス バズ::XmlElement const *)" (?HandleStanza@JingleInfoTask@buzz@@MAE_NPBVXmlElement@2@@Z) C:\Users\username\documents\visual studio 2012\Projects\PCPTest\PCPTest\pcp_main.obj

エラー 1 エラー LNK2001: 未解決の外部シンボル "パブリック: 仮想 int __thiscall バズ::JingleInfoTask::ProcessStart(void)" (?ProcessStart@JingleInfoTask@buzz@@UAEHXZ) C:\Users\username\documents\visual studio 2012\Projects \PCPTest\PCPTest\pcp_main.obj

エラー 2 エラー LNK2019: 未解決の外部シンボル "パブリック: void __thiscall バズ::JingleInfoTask::RefreshJingleInfoNow(void)" (?RefreshJingleInfoNow@JingleInfoTask@buzz@@QAEXXZ) 関数で参照されている "パブリック: void __thiscall AutoPortAllocator::SetXmppClient(クラス バズ::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\username\Desktop\libjingle\trunk\testing C:\Users\username\Desktop\libjingle\trunk\

と 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

4

1 に答える 1

0

答えが出ました!

エラー 4 は、次の行を追加することで削除できます。

#pragma comment(lib, "Wininet.lib")

残りのエラーは、jingleInfoTask.cc および JingleInfotask.h ファイルに対応しています。ライブラリをビルドしたときに、ソリューション ファイル (libjingle.sln) にこれらのファイルが含まれていないことは少し驚きです。回避策は、jingleinfotask.cc および jingleinfotask.h ファイルを xmpp フォルダーに追加し、libjingle.sln ファイルを再構築することです。

これにより、jingleinfotask.obj と必要な lib ファイルが生成されます。プロジェクト プロパティのリンカー セクションの追加の依存関係セクションで、生成された lib ファイルを指定していることを確認してください。

于 2013-07-15T05:44:56.023 に答える