我基本上是一名java开发人员,我有一个使用java创建的Web服务。现在我需要一个用C编码的客户端来使用那个java WS。经过大量的冲浪后,我获得了支持WS的gSOAP cos。
现在,我能够生成头文件以及相应的存根类。我还创建了一个将调用实际代理方法的主类。但由于某些原因,我的代码根本没有被编译。
我在做什么的步骤:
前两个步骤没问题,但只有3个步骤可以解决未定义的引用错误。请注意,我在windows平台上运行上述内容,gcc编译器由Bloodshed Dev工具提供。
执行步骤3时得到的错误是(复制几行..),
CalcClient.C:5:对soap_new_LIBRARY_VERSION_REQUIRED_20816'
soap_call_ns2__add'的未定义引用
CalcClient.C:10:对
CalcClient.C:7: undefined reference tosoap_print_fault'
soap_end'的未定义引用
和
C:\ TEMP / ccS0iaaa.o(。text + 0x129):stdsoap2.c:对
CalcClient.C:11: undefined reference tosendto@24'
的未定义引用发送@ 16'
C:\TEMP/ccS0iaaa.o(.text+0x154):stdsoap2.c: undefined reference to
C:\ TEMP / ccS0iaaa.o(。text + 0x224):stdsoap2.c:对sendto@24'
的未定义引用发送@ 16'
C:\TEMP/ccS0iaaa.o(.text+0x24f):stdsoap2.c: undefined reference to
C:\ TEMP / ccS0iaaa.o(。text + 0x28b):stdsoap2.c:对WSAGetLastError@0'
的未定义引用inet_addr @ 4
C:\TEMP/ccS0iaaa.o(.text+0x4a9b):stdsoap2.c: undefined reference to
我知道我肯定做错了(因为我是C的新手)。我尝试了所有我能想到的选项,你能帮帮我吗?
答案 0 :(得分:0)
我遇到了类似的问题。这主要是因为我没有包括stdsoap2.cpp或stdsoap2.c。我将stdsoap2.cpp文件从gsoap文件夹中删除到项目文件夹中,然后运行程序,它运行正常。