最近使用gSOAP XML/RPC + C代码编写我的测试程序,编译时出现“soapStub.h: error: redeFinition of parameter ‘soap’”。
[root@localhost src]# make iclient
gcc -o iclient iclient.c wsi2c.h soapClient.c soapC.c base.c base.h -lgsoap
In file included from soapH.h:13:0,
from iclient.c:12:
soapStub.h:255:132: error: redeFinition of parameter ‘soap’
SOAP_FMAC5 int SOAP_FMAC6 soap_call_ns__myset(struct soap *soap,const char *soap_endpoint,const char *soap_action,struct soap *soap,char *bus,char *devaddr,int reg,int data,int *result);
根据提示,soap_call_ns__myset(struct soap *soap,int *result),注意到了soap_call_ns__myset函数的参数出现了两个struct soaP*soap,因此报此错。
解决方法是将iws.h文件直接删除struct soap *soap即可。
int ns__myset(struct soap *soap,char *bus,int *result);
如果服务器端需要使用struct soap *soap结构体指针,那就在服务器端程序中添加即可。例如:
1、iws.h
int ns__myset(char *bus,int *result);
2、iserver.c
int ns__myset(struct soap *soap,char *bus,int *result);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。