2013-10-09 45 views
1

我基本上是一个java开发人员,我有一个使用java创建的web服务。现在我需要一个用C编码的客户端来使用这个java WS。在冲浪之后,我用gSOAP cos来支持WS。gSOAP - 未定义的引用Windows中使用gcc.exe的错误

现在,我能够生成头文件和相应的存根类。我也创建了一个将调用实际代理方法的主类,但由于某些原因,我的代码根本无法编译。

  1. wsdl2h.exe -c -o calc.h calc.wsdl
  2. soapcpp2.exe -C calc.h
  3. gcc.exe -o CalcClient:什么是我做

    步骤CalcClient.c soapC.c soapClient.c stdsoap2.c

前两步都很好,但它只有3米那给与未定义的引用错误的麻烦。请注意,我正在windows平台上运行上述代码,gcc编译器由Bloodshed Dev工具提供。

,我执行步骤3(复制几行..)时得到的错误,
CalcClient.C:5:未定义参照soap_new_LIBRARY_VERSION_REQUIRED_20816'
CalcClient.C:7: undefined reference to
soap_call_ns2__add”
CalcClient.C:10:未定义参照soap_print_fault'
CalcClient.C:11: undefined reference to
soap_end”
和 C:\ TEMP/ccS0iaaa.o(的.text + 0x129):stdsoap2.c:未定义参照[email protected]'
C:\TEMP/ccS0iaaa.o(.text+0x154):stdsoap2.c: undefined reference to
发送@ 16'
C:\ TEMP/ccS0iaaa.o(的.text + 0x224): stdsoap2.c:未定义引用[email protected]'
C:\TEMP/ccS0iaaa.o(.text+0x24f):stdsoap2.c: undefined reference to
send @ 16'
C:\ TEMP/ccS0iaaa.o(.text + 0x28b):stdsoap2.c:undefined referen to [email protected]'
C:\TEMP/ccS0iaaa.o(.text+0x4a9b):stdsoap2.c: undefined reference to
inet_addr @ 4

我知道我肯定做错了事情(因为我是新来的C)。我尝试了所有我能想到的选项,你能帮我一下吗?

回答

0

我有类似的问题。这主要是因为我没有包含stdsoap2.cpp或stdsoap2.c。我从gsoap文件夹中将stdsoap2.cpp文件复制到项目文件夹中,然后运行该程序并正常工作。