在程序中存在多个gSoap客户端代理类的话,比如我项目中用到的两个NMMAILGgzwSerSoapProxy.h和ZJFaxMangerHttpBindingProxy.h,其中第一个NMMAILGgzwSerSoapProxy.h类是后期添加上去,按照之前的,我还是把三个头文件和两个cpp文件拷贝到项目工程路径下,同时把GgzwSerSoap.nsmap也包含到项目中去,结果编译发现如下错误:
错误 1
error LNK2005: _namespaces 已经在 ZJFaxMangerHttpBindingProxy.obj 中定义
FarmerMail.obj
因为之前在开发中也遇到了类似的问题,因此我在生成NMMAILGgzwSerSoapProxy.h这个类的时候刻意对命名空间重新指定了,但是还是发现这个错误,后面经过查找对比,发现成程序中ZJFaxMangerHttpBindingProxy.h类的nsmap文件已经能够包含,当我在把后面类的nsmap包含进去以后就会提示重定义。
在不同的gSoap客户端的开发中,不论有多少个代理类,包含的nsmap只需要包含一次即可。
本文探讨了在使用多个gSoap客户端代理类时遇到的命名空间冲突问题,并提供了解决方案,指出无论有多少个代理类,nsmap只需包含一次。
5456

被折叠的 条评论
为什么被折叠?



