Ошибка компиляции с использованием gsoap - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь скомпилировать файлы после генерации из следующих шагов: - (1) wsdl2h -o calc.h http://www.genivia.com/calc.wsdl (2) soapcpp2 -j -CL calc.h (3) Создание файла main.cpp со следующим кодом: -

#include "calc.nsmap"      // XML namespace mapping table (only needed once at the global level)
#include "soapcalcProxy.h" // the proxy class, also #includes "soapH.h" and "soapStub.h"

int main()
{
  calcProxy calc;
  double sum;
  if (calc.add(1.23, 4.56, sum) == SOAP_OK)
    std::cout << "Sum = " << sum << std::endl;
  else
    calc.soap_stream_fault(std::cerr);
  calc.destroy(); // same as: soap_destroy(calc.soap); soap_end(calc.soap);
}
После этого я скомпилирую команду: - g ++ -o calcclient main.cpp soapcalcProxy.cpp soapC.cpp -lgsoap ++

Я получаю следующие ошибки: -

/tmp/ccA5Ergj.o: In function `soap_ignore_element(soap*)':
soapC.cpp:(.text+0x112d): undefined reference to `soap_ignore'
/tmp/ccA5Ergj.o: In function `soap_putelement':
soapC.cpp:(.text+0x149b): undefined reference to `soap_element_empty'
collect2: error: ld returned 1 exit status

Пожалуйста, помогите в компиляции.

1 Ответ

0 голосов
/ 22 мая 2018

Я решил это.Я думал, что библиотека находится в / usr / lib, но она была в / usr / local / lib.Я включил -L / usr / local / lib во время компиляции, и это сработало.

...