Неопределенная ссылка на пространства имен - ошибка gsoap
Я работаю в ubuntu
, c++
код.
С помощью gsoap
а также wsdl2h -o header.h
http://link1 http://link2
Я успешно создал .h
, .cpp
а также .xml
файлы. Когда я #include proxy1.h
а также #include proxy2.h
и их nmsp
файлы я получаю следующую ошибку:
redefinition of "Namespace namespaces[]', previously defines here .
Как решить эту ошибку? Когда я использую: stdsoap2 -i -C -Iimport header.h
я не могу указать другое пространство имен для каждого URL? Я хотел бы отметить, что stdsoap.cpp
используется, когда я компилирую код В stdsoap
пространство имен называется пространством имен.
Спасибо
2 ответа
Вы должны определить WITH_NONAMESPACES
при импорте нескольких веб-сервисов в одном клиенте.
См. Как создать клиент / серверные библиотеки и параметры soapcpp2.
Используя gsoap 2.8.91 из репозитория EPEL для RHEL 8, мне нужно было "struct Namespace namespaces[] = {};" где-то в мировом пространстве. Вам нужно добавить это, если вы "#include <stdsoap2.h>". Поскольку я использовал это включение только в одном классе, я добавил туда свою глобальную ссылку.
Комментарий Санджая выше должен работать для более старых версий gsoap.