c - gsoap 客户端编译/链接错误

标签 c compiler-errors gsoap

现在我正在编写一个程序来调用网络服务。我编写testMain.c。其他由 wsdl2hsoapcpp2 生成。

我的编译命令是这样的:

 gcc -Wall -g -c -L. soapC.c soapClient.c stdsoap2.c testMain.c
 gcc -o testMain -L/usr/lib -lgsoap -lgsoapck -lgsoapssl soapC.o soapClient.o stdsoap2.o testMain.o 

我收到这些错误。请帮我。

stdsoap2.o: In function `soap_print_fault':
/test/stdsoap2.c:16279: undefined reference to `soap_check_faultsubcode'
/test/stdsoap2.c:16281: undefined reference to `soap_check_faultdetail'
stdsoap2.o: In function `soap_sprint_fault':
/test/stdsoap2.c:16341: undefined reference to `soap_check_faultdetail'
collect2: ld returned 1 exit status

最佳答案

最新版本的 GCC/ld/GNU 工具链要求以一定的顺序指定对象和库文件,以便链接器可以按照它们相互依赖的相同顺序找到符号。这意味着库应该位于命令行的末尾;你的第二行(当你链接时)应该是

gcc -o testMain -L/usr/lib soapC.o soapClient.o stdsoap2.o testMain.o -lgsoap -lgsoapck -lgsoapssl

相反。

关于c - gsoap 客户端编译/链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14097603/

相关文章:

c++ - OpenCV 2.4.8 编译链接错误

c++ - 无法解决语法错误

c++ - Gsoap 文件已留在@

c - 这些 C 函数有何不同?

android - 如果我尝试使用 arm 数学汇编程序命令而不是 c,我会获得性能奖励吗

compiler-errors - 在删除移动的值后删除部分移动的值

c++ - 使用 gSOAP 以本地时间而不是 UTC 返回日期时间

c++ - gSoap 不包括 Envelope 和 Body 开始标签

c - 从数组中查找最长的算术级数

c - 在 CPU 调度模拟 C 程序(SJF)中,当节点放在 "queue"上时,如何按链表中的 CPU 时间对节点进行排序?