成功生成c ++代码后的gsoap undefined引用

时间:2012-04-02 10:42:47

标签: c++ gsoap undefined-reference

我正在尝试使用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。哎呀!

1 个答案:

答案 0 :(得分:0)

我不确定但是从您所写的内容看来,您忘记在编译步骤中包含soapC.cpp文件?当我构建我的应用程序时,我通常会得到像

这样的东西
    g++ -FLAGS main.cpp soapC.cpp soapProxyClass.cpp -o outputApp

也许你已经在做这件事了,但至少对你来说并不明显(至少对我来说)。