本当にこの問題に悩まされています。私はあなたが私を助けてくれることを願っています。gSOAPを使用したApple Mach-O Linker(Id)エラー
私はセキュリティ保護されたSOAP Webサービスを使用する必要がある企業向けのiPadアプリを開発しています...完璧な組み合わせではありません!私は知っていることは、googleの周りを見て、私は "最高の"ことは、gSOAPを使用してWSクライアントを作っていたことがわかったと私は何をした!今私はそれらのWSのC + +のクライアントを持っています。
私はWSのメソッドのいずれかを呼び出して、アプリケーションを構築しようとすると...これは何が起こるかです:
Ld /Users/me/Library/Developer/Xcode/DerivedData/App-akcairabnqiunvddtmwphaispprl/Build/Products/Debug-iphonesimulator/App.app/App normal i386
cd /Users/me/iOS/App
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin'
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk
-L/Users/me/Library/Developer/Xcode/DerivedData/App-akcairabnqiunvddtmwphaispprl/Build/Products/Debug-iphonesimulator
-L/Users/me/iOS/App -F/Users/me/Library/Developer/Xcode/DerivedData/App-akcairabnqiunvddtmwphaispprl/Build/Products/Debug-iphonesimulator
-F/Applications/Xcode.app/Contents/Developer/Library/Frameworks
-filelist /Users/me/Library/Developer/Xcode/DerivedData/App-akcairabnqiunvddtmwphaispprl/Build/Intermediates/App.build/Debug-iphonesimulator/App.build/Objects-normal/i386/App.LinkFileList
-mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50100
-framework SenTestingKit -framework Foundation -framework UIKit -framework QuartzCore -framework CoreGraphics -ldataSOAPlibDev
-o /Users/me/Library/Developer/Xcode/DerivedData/App-akcairabnqiunvddtmwphaispprl/Build/Products/Debug-iphonesimulator/App.app/App
ld: warning: ignoring file /Users/me/iOS/App/libdataSOAPlibDev.a,
ファイルはアーキテクチャがリンクされていないアーカイブ(i386のために建てられました)
Undefined symbols for architecture i386:
'soap::soap()', referenced from:
-[ViewContratosController viewDidLoad] in ViewContratosController.o
'_soap_init_LIBRARY_VERSION_REQUIRED_20808', referenced from:
-[ViewContratosController viewDidLoad] in ViewContratosController.o
'soap_call_ns1__obtenerPais(soap*, char const*, char const*, ns2__paisFile*,
ns1__obtenerPaisResponse&)', referenced from:
-[ViewContratosController viewDidLoad] in ViewContratosController.o
'soap::~soap()', referenced from:
-[ViewContratosController viewDidLoad] in ViewContratosController.o
'ns2__paisFile::soap_default(soap*)', referenced from:
ns2__paisFile::ns2__paisFile() in ViewContratosController.o
'vtable for ns2__paisFile', referenced from:
ns2__paisFile::ns2__paisFile() in ViewContratosController.o
注:行方不明のvtableは通常、最初の非インライン仮想メンバ関数は何の定義を持っていないことを意味します。エラー: LD:i386アーキテクチャ 打ち鳴らす見つかりません記号(S)リンカコマンドは注意が問題を伝えること
終了コード1(呼び出しを参照するには、-vを使用)で失敗しました...しかし、私はdon'それを解決する方法を知っている...任意のアイデア?
ありがとうございます!
まずはお返事ありがとうございます!私はメインプロジェクトと同じアーキテクチャでlibdataSOAPlibDev.aライブラリを構築していましたが、問題は解消されませんでした!良いことは、静的ライブラリのターゲット(libdataSOAPlibDev.a)の "Compile Sources"にいくつかのcppファイルがないことに気付いたことです... gSOAPによって生成されたファイルがこのライブラリに含まれていると言います.h、.cpp、および.xml)。今問題は、私は新しいエラーがあることです:今度は:
ld: duplicate symbol soap_instantiate_std__string
...これは複製されています...しかし、gSOAPによって構築! :(( – VaroX