Qt

KDSoap + Qt5 сборка под Windows

KDSOAP , пожалуй, лучшая на сегодняшний день библиотека  для обмена через  SOAP протокол, которая работает с Qt5 без лишних костылей (в отличии от QtSOAP и gSOAP)

[tip]Обновил для Qt 5.9[/tip]

Подробнее про KDSoap (на английском)

Для сборки потребуется:

  • git (при установке отметьте Use git from the windows command promt)
  • python2 (именно 2 а не 3! При установке в списке включите add python.exe to Path)
  • perl
  • Qt5
  • OpenSSL (Качаете Win32 OpenSSL v1.0.2L Light, при установке выбираете копировать в директорию Windows)

P.S. Если у Вас что-то уже установлено естественно переустанавливать не надо.

Теперь открываем консольку винды и переходим в каталог в котором будем собирать KDSoap, у меня это C:\Projects\kdsoap  и клонируем гит репозиторий: https://github.com/KDAB/KDSoap.git

cd C:\Projects\kdsoap
git clone https://github.com/KDAB/KDSoap.git .

Дальше нужно в Path добавить месторасположения qmake и mingw32-make. У себя замените на свой путь.

set PATH=C:\Qt\5.8\mingw53_32\bin;%PATH%
set PATH=C:\Qt\Tools\mingw530_32\bin;%PATH%

Дальше начинаем непосредственно собирать KDSoap:

git submodule update --init
python autogen.py -shared -debug
set PATH=C:\Projects\kdsoap\bin;%PATH%
set LIB=C:\Projects\kdsoap\lib;%LIB%
mingw32-make
mingw32-make install
[note] Возможные варианты сборки:
python autogen.py -shared -debug
python autogen.py -shared -release
python autogen.py -static -debug
python autogen.py -static -release
Надеюсь понятно для чего какие параметры
[/note] [tip] Если python autogen.py   начнёт ругаться на perl unable to remap,
то  убедитесь, что Perl идёт после Git в переменной Path (echo %PATH%) и обновите Git, но, впринципе, это не должно повлиять на сборку.
[/tip]

Установка должна успешно завершиться =)
Сейчас собрали дебажную версию. Аналогично собирается релизная.

Примеры можно открыть в QtCreator из каталога: C:\Projects\kdsoap\examples\

Related posts

Упрощение работы с динамическими структурами в C++

Вывести время компиляции исходников __TIMESTAMP__ в виде Unix timestamp в C(C++)

QML DropArea for files

3 комментария

Dmitrii 5 ноября 2019 - 13:46
shared версия работает нормально. А вот статику не пролучилось запустить, ругается на потоки. Разбираться не когда было :(.
Дима 8 августа 2017 - 11:30
Спасибо за статью! Ещё не плохо бы указать, что нужно сделать репозиторий в той папке, куда сделали гит клон. Без этого у меня ничего не получалось (гитом не все пользуются).
Pavelk 6 сентября 2017 - 22:29
Репозитория отдельно делать никакого не нужно, при git clone он сам создаётся...
Add Comment