对名称空间的未定义引用 - gsoap 错误
我正在使用 ubuntu
、c++
代码。
使用 gsoap 和 wsdl2h -o header.h http://link1 http://link2 我已成功创建 .h
, .cpp
和 .xml
文件。当我 #include proxy1.h
和 #include proxy2.h
及其 nmsp
文件时,我收到以下错误:
redefinition of "Namespace namespaces[]', previously defines here .
如何解决此错误?当我使用:stdsoap2 -i -C -Iimport header.h 时,我不能为每个网址指定不同的命名空间吗?我想提一下,在编译代码时使用了 stdsoap.cpp
。在 stdsoap
中,命名空间称为命名空间。
谢谢
I am working in ubuntu
, c++
code.
Using gsoap
and wsdl2h -o header.h
I've successfully succeeded to create
http://link1 http://link2.h
, .cpp
and .xml
files. When I #include proxy1.h
and #include proxy2.h
and their nmsp
files I receive the following error:
redefinition of "Namespace namespaces[]', previously defines here .
How to solve this error? When I use: stdsoap2 -i -C -Iimport header.h
can't I specify a different namespace for each url? I would like to mention that stdsoap.cpp
is used when I compile the code. In stdsoap
the namespace is called namespaces.
thx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在单个客户端中导入多个 Web 服务时,您必须定义
WITH_NONAMESPACES
。请参阅如何创建客户端/服务器库和soapcpp2选项。
You must define
WITH_NONAMESPACES
when importing multiple webservices in a single client.See How to Create Client/Server Libraries and soapcpp2 Options.
使用 EPEL for RHEL 8 存储库中的 gsoap 2.8.91,我需要“struct Namespace namespaces[] = {};”在全球空间的某个地方。如果您“#include”,则需要添加此内容。由于我只在一个类中使用该包含项,因此我在那里添加了我的全局引用。
Sanjaya 的上述评论应该适用于旧版本的 gsoap。
Using gsoap 2.8.91 from the EPEL for RHEL 8 repo, I needed to "struct Namespace namespaces[] = {};" somewhere in the global space. You need to add this if you "#include <stdsoap2.h>". Since I was only using that include in one class, I added my global reference there.
Sanjaya's comment above should work for older versions of gsoap.