gsoap неопределенная ссылка после успешной генерации кода C ++ - PullRequest
0 голосов
/ 02 апреля 2012

Я пытаюсь использовать сгенерированный gsoap код для использования веб-службы ASP .NET из источников C ++ из системы linux.

Я успешно создал код из своего wsdl-файла, используя "wsdl2h -o" и "soapcpp2 -C -i", и сейчас пытаюсь скомпилировать простой клиент

Согласно документации мыла, я сейчас попытался скомпилировать простой клиент: Попытка скомпилировать его с помощью:

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_USCORECollectorServiceProservice tmp cc3uVBgk.o (.text + 0x40): в функции main': : undefined reference to BasicHttpBinding_USCORECollectorServiceProxy :: GetAvailableConnections ( ns1 _GetAvailableConnections *, ns1 _GetAvailableConnectionsResponse *) 'tmp-cc3uVBgk.o (.text + 0x9c): в функции main': : undefined reference to BasicHttpBinding_USCORECollectorServiceProxy :: ~ BasicHttpBinding_USCOREColxyorSservice

У кого-нибудь есть какие-то подходы по этому поводу? Буду очень благодарен за любые подсказки!

Большое спасибо заранее, Meph

P.S .: Это ограничение гиперссылки раздражает BLOODY! У меня нет НИКАКИХ гиперссылок в моем сообщении, просто Linux-пути к файловой системе. ARGH!

1 Ответ

0 голосов
/ 22 апреля 2012

Я не уверен, но из того, что вы написали, следует, что вы забыли включить файл soapC.cpp на этапе компиляции ??Когда я создаю свои приложения, я обычно получаю что-то вроде

    g++ -FLAGS main.cpp soapC.cpp soapProxyClass.cpp -o outputApp

Возможно, вы уже делаете это, но это не было очевидно (по крайней мере для меня) из вашего поста.

...