我正在尝试使用gsoap生成的代码来使用来自Linux系统的C ++源代码的ASP .NET Web服务。
我使用“wsdl2h -o”和“soapcpp2 -C -i”从我的wsdl文件成功创建了代码,现在我正在尝试编译一个简单的客户端
根据soap文档,我现在尝试编译一个简单的客户端: 尝试使用以下方法编译它:
c++ -o vts_webservice vts_webservice.cpp -lgsoap
我得到未定义的引用错误: 源代码:
#include "soapBasicHttpBinding_USCORECollectorServiceProxy.h"
#include "BasicHttpBinding_USCORECollectorService.nsmap"
int main()
{
BasicHttpBinding_USCORECollectorServiceProxy collectorService;
_ns1__GetAvailableConnections *avConn;
_ns1__GetAvailableConnectionsResponse *avConnResp;
if(collectorService.GetAvailableConnections(avConn, avConnResp) == SOAP_OK)
{
std::cout << "foo" << std::endl;
}
else
std::cout << "bar..." << std::endl;
//collectorService.soap_stream_fault(std::cerr);
return 0;
}
C ++ -o vts_webservice vts_webservice.cpp -lgsoap TMP cc3uVBgk.o(的.text + 0X1E):在函数
main': : undefined reference to
BasicHttpBinding_USCORECollectorServiceProxy :: BasicHttpBinding_USCORECollectorServiceProxyin电荷” TMP cc3uVBgk.o(的.text + 0×40):在函数main': : undefined reference to
BasicHttpBinding_USCORECollectorServiceProxy :: GetAvailableConnections( NS1 _GetAvailableConnections *, NS1 _GetAvailableConnectionsResponse *)” TMP-cc3uVBgk.o(的.text +为0x9c):在函数main': : undefined reference to
BasicHttpBinding_USCORECollectorServiceProxy ::〜BasicHttpBinding_USCORECollectorServiceProxy
有没有人对此有任何批评?我会非常感谢任何提示!
非常感谢, 麦菲
P.S。:这个超链接限制是BLOODY烦人的!我的帖子中没有任何超链接,JUST linux-filesystem-paths。哎呀!
答案 0 :(得分:0)
我不确定但是从您所写的内容看来,您忘记在编译步骤中包含soapC.cpp文件?当我构建我的应用程序时,我通常会得到像
这样的东西 g++ -FLAGS main.cpp soapC.cpp soapProxyClass.cpp -o outputApp
也许你已经在做这件事了,但至少对你来说并不明显(至少对我来说)。