如何将多个gsoap客户端web服务编译成一个可执行文件
How to compile multiple gsoap client webservices into one executable?
我使用gSOAP
的web服务,但我有一个问题,我必须将2个web服务编译成一个可执行文件函数具有相同的名称,而不是使用参数函数名的其他前缀。
编译错误:
X.o: In function `soap_get_string(soap*, char**, char const*, char const*)':
X.cpp:8669: multiple definition of `soap_get_string(soap*, char**, char const*, char const*)'
Y.o:Y.cpp:4763: first defined here
在Makefile:
wsdl2h -qlpr X.wsdl
wsdl2h Y.wsdl Y.xsd
soapcpp2 -qlpr -plpr -plprws $(GSOAP_IMPORT) -i -C X.h
soapcpp2 -psiwcprws $(GSOAP_IMPORT) -i -C Y.h
有谁知道怎么解决这个问题吗? 19.34如何将多个客户端和服务器实现合并为一个可执行文件wsdl2h工具可以用于导入多个wsdl和模式。服务定义组合为一个soapcpp2要解析的头文件。分配是很重要的使用typemap.dat文件将名称空间前缀添加到名称空间uri。否则,wsdl2h将分配名称空间前缀ns1、ns2等到服务操作和模式类型。因此,对WSDL的任何更改或者模式可能导致新的前缀赋值。欲知详情,请请参见8.2节。另一种组合多个客户机的方法将服务应用程序整合到一个可执行文件中是通过使用c++实现的命名空间来从结构上分隔定义,或者通过创建C客户端/服务器对象的库,将在后面解释部分。这是通过wsdl2h选项-q自动完成的。两种方法都是通过gSOAP发行版中的示例进行演示,示例/链接(C(仅限)和samples/link++(带有c++命名空间的c++)示例。
相关文章:
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 程序在使用 system() 启动另一个可执行文件时停止
- 在使用PyInstaller冻结Python脚本时包含一个C++可执行文件
- 只有一个可执行文件即可进行跨平台 SIMD 调用?
- 是否有其他方法将.dll文件从一个项目复制到我的启动项目中的可执行文件旁边
- CMake 意外地将最后一个文件名预置到可执行文件中
- 我可以定义一个(键入的)常数,该常数确定不占据可执行文件中的空间
- 为什么主可执行文件和 dlopen 加载的共享库共享命名空间静态变量的一个副本?
- 构建一个可执行文件,如果是单个 cpp 文件
- CMAKE:将静态库从子目录链接到另一个子目录中的可执行文件
- "make"的输出是一个共享对象,而不是可执行文件
- 如何转换一个普通的makefile以创建可以在另一台计算机上使用的静态可执行文件
- C++将各种资源文件链接到一个可执行文件中
- 如何在 ubuntu 上将可执行文件注入另一个可执行文件
- 'Continuous' C++一个可执行文件的输出作为另一个程序的输入
- 程序如何创建另一个可执行文件
- 是否对在另一个Linux发行版中使用G 编译的可执行文件有限制
- 用cpp、python和csv文件制作一个可执行文件
- 从Ubuntu到Debian运行一个可执行文件
- 如何执行从另一个Qt程序分离的C++可执行文件