Неопределенная ссылка на пространства имен - ошибка 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.

Другие вопросы по тегам