我真的陷入了這個問題......我希望你能幫助我。Apple Mach-O Linker(Id)使用gSOAP的錯誤
我正在爲一家公司開發一款iPad應用程序,這需要使用安全的SOAP Web服務......而不是完美的組合!我知道,事情是,看看周圍的谷歌,我發現「最好」的事情是做一個WS客戶端使用gSOAP,這就是我做的!現在我有一個用C++編寫的WS客戶端。
當我嘗試調用的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
注:缺少虛函數表通常意味着第一非內嵌虛擬成員函數沒有定義。 LD:符號(S)沒有找到i386硬件架構 鐺:錯誤:連接命令,退出代碼爲1(使用-v看看調用)
的說明可以告訴這個問題失敗...但我don'不知道如何解決它...任何想法?
謝謝!
首先,感謝您的快速回答!我一直致力於在主項目的相同體系結構中構建libdataSOAPlibDev.a庫,但問題並沒有消失!好處是我意識到我在靜態庫的目標(libdataSOAPlibDev.a)的「編譯源文件」中丟失了一些cpp文件...我不得不說,這個庫包含由gSOAP生成的文件( .h,.cpp和.xml)。現在的問題是,我有一個新的錯誤:這次是:
ld: duplicate symbol soap_instantiate_std__string
...這是重複的...但由gSOAP建成! :(( – VaroX 2012-04-12 13:31:26