我嘗試在我的應用程序中添加gsoap。 我爲i386構建了gsoap。 創建的C代碼下的命令:鏈接c中mac中的錯誤gsoap
wsdl2h -c -s -o soap.h soap.wsdl
soapcpp2 -c -C soap.h
我得到的文件。在此之後,我嘗試將這些添加到我的應用程序中。 我在xCode中添加到我的項目中。我還添加了6個庫(libgsoap.a,libgsoap ++。a,libgsoapck.a,libgsoapck ++。a,libgsoapssl.a,libgsoapssl ++。a)。我在Target中添加了庫=>構建階段=>將庫鏈接到二進制文件。 但我得到錯誤....
ld: duplicate symbol .....
我認爲這會發生在文件soapClientLib.c是它:
#ifndef WITH_NOGLOBAL
#define WITH_NOGLOBAL
#endif
#define SOAP_FMAC3 static
#include "soapC.c"
#include "soapClient.c"
評論這些是:
Use this file in your project build instead of the two files soapC.c and soapClient.c. This hides the serializer functions and avoids linking problems when linking multiple clients and servers
我刪除它的內容。 但畢竟這我得到了一個錯誤......
Undefined symbols for architecture i386:
"_namespaces", referenced from:
_soap_init_LIBRARY_VERSION_REQUIRED_20812 in libgsoap.a(libgsoap_a-stdsoap2.o)
(maybe you meant: _soap_set_namespaces, _soap_set_local_namespaces)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
,現在我不知道......我 使用gSOAP的窗口和我把它添加到我的項目5分鐘。但我浪費了很多時間在Mac OS中添加它。 你能幫我嗎?
我沒寫。它是由gsoap生成的。我刪除它。但現在我有另一個錯誤 –
如果這是生成的,那麼你不應該刪除它。你確定你應該鏈接**所有**這些庫?我在工作中使用gsoap(所以我知道它是多麼糟糕),我敢肯定,我們不與所有這些庫鏈接... – trojanfoe
我有gsoap類似的問題。我試圖編譯使用gcc,但得到鏈接器錯誤「架構x86_64的未定義符號:」我使用的命令:gcc -o tdc_send_sms tdc_send_sms.c -L/usr/local/lib/-lgsoap –