Windows

Для сборки библиотеки QwtPolar потребуется MSYS с дополнительной утилитой patch, он устанавливается вместе с MinGW 4.6 (см. здесь). Кроме того, следует определиться с какими инструментами (подробности в статье) будет использоваться устанавливаемая библиотека, именно с этой связкой ее необходимо и собирать. Здесь возможны два варианта

– Qt 4 и MinGW 4.6
– Qt 5 и MinGW 4.7

Поскольку ни библиотекаQwtPolar, ни Qwt не используют OpenGL, совершенно не важно с какой опцией сконфигурирована Qt 5 -opengl es2 -angle или -opengl desktop. Для разнообразия далее будем полагать, что используется Qt 5, собранная с опцией -opengl desktop в соответствии с инструкцией из статьи.

Заранее договоримся, что непосредственно файлы библиотеки QwtPolar будут собираться в обеих конфигурациях – релизной и отладочной, плагин для дизайнера форм – в релизной конфигурации (плагин, собранный в отладочной конфигурации, дизайнер не воспринимает). Примеры, поставляемые с библиотекой QwtPolar, будут собираться только с Qt 4 (в качестве демонстрации – в отладочной конфигурации), а с Qt 5 для сокращения количества правок исходного кода – не будут.

Установка QwtPolar для Qwt версий 5.x.x и 6.x.x мало отличается, но во избежание путаницы инструкции для каждого из этих вариантов даются отдельно.

Для Qwt 5.x.x

1. Скачиваем с сайта разработчика архив

qwtpolar-0.1.0.zip
(именно эта версия совместима с Qwt 5.x.x)

распаковываем его в какую либо временную папку, например, в D:\TEMP.

2. Скачиваем патч

qwtpolar0_qt4_patch.zip   для сборки с Qt 4 или
qwtpolar0_qt5_patch.zip   для сборки с Qt 5

распаковываем его в папку D:\TEMP\qwtpolar-0.1.0.

3. Запускаем MinGW Shell (см. группу ярлыков MinGW в меню Пуск или файл C:\Qt\mingw-4.6\msys\1.0\msys.bat) и вводим команды

cd /d/TEMP/qwtpolar-0.1.0
patch -Np1 -i qwtpolar0_qt4.patch   для сборки с Qt 4 или
patch -Np1 -i qwtpolar0_qt5.patch   для сборки с Qt 5

4. Правим файл D:\TEMP\qwtpolar-0.1.0\qwtpolar.pri

– прописываем свой каталог установки, например

INSTALLBASE = C:/Qt/qwtpolar-$$VERSION

– если нет желания собирать примеры с Qt 4, комментируем строку "CONFIG += QwtPolarExamples".

5. Открываем файл D:\TEMP\qwtpolar-0.1.0\qwt.pri и проверяем правильность пути установки Qwt

QWT_PATH = C:/Qt/qwt-$${QWT_VER}

6. Запускаем Qt 4.8.4 Command Prompt (см. группу ярлыков библиотеки Qt в меню Пуск) или Qt 5.0.1 Command Prompt (последний ярлык мы создавали самостоятельно после сборки Qt 5). Переходим в каталог, содержащий распакованную библиотеку

cd /D D:\TEMP\qwtpolar-0.1.0

и вводим команды

qmake qwtpolar.pro -r -spec win32-g++
mingw32-make
mingw32-make install

По окончании сборки и копирования файлов в каталоге C:\Qt должна появиться папка qwtpolar-0.1.0.

7. Прописываем в переменную среды Path путь

C:\Qt\qwtpolar-0.1.0\lib

Windows XP:   Мой компьютер > Свойства > Дополнительно > Переменные среды > Path > Изменить
Windows 7:   Мой компьютер > Свойства > Дополнительные параметры системы > Переменные среды > Системные переменные > Path > Изменить

8. Для того, чтобы виджеты установленной библиотеки были доступны в дизайнере форм, копируем содержимое папки D:\TEMP\qwtpolar-0.1.0\designer\plugins\designer в папку C:\Qt\qt-4.8.4\plugins\designer или, соответственно, в папку C:\Qt\qt-5.0.1\qtbase\plugins\designer.

На этом установка завершена.

Для Qwt 6.x.x

1. Скачиваем с сайта разработчика архив

qwtpolar-1.0.1.zip
(версия на момент написания статьи)

распаковываем его в какую либо временную папку, например, в D:\TEMP.

2. Скачиваем патч

qwtpolar_qt4_patch.zip   для сборки с Qt 4 или
qwtpolar_qt5_patch.zip   для сборки с Qt 5

распаковываем его в папку D:\TEMP\qwtpolar-1.0.1.

3. Запускаем MinGW Shell (см. группу ярлыков MinGW в меню Пуск или файл C:\Qt\mingw\msys-4.6\1.0\msys.bat) и вводим команды

cd /d/TEMP/qwtpolar-1.0.1
patch -Np1 -i qwtpolar_qt4.patch   для сборки с Qt 4 или
patch -Np1 -i qwtpolar_qt5.patch   для сборки с Qt 5

4. Правим файл D:\TEMP\qwtpolar-1.0.1\qwtpolarconfig.pri

– прописываем свой каталог установки, например

QWT_POLAR_INSTALL_PREFIX = C:/Qt/qwtpolar-$$QWT_POLAR_VERSION

– если нет желания собирать примеры с Qt 4, комментируем строку "QWT_POLAR_CONFIG += QwtPolarExamples".

5. Открываем файл D:\TEMP\qwtpolar-1.0.1\qwt.pri и проверяем правильность пути установки Qwt

QWT_PATH = C:/Qt/qwt-$${QWT_VER}

6. Запускаем Qt 4.8.4 Command Prompt (см. группу ярлыков библиотеки Qt в меню Пуск) или Qt 5.0.1 Command Prompt (последний ярлык мы создавали самостоятельно после сборки Qt 5). Переходим в каталог, содержащий распакованную библиотеку

cd /D D:\TEMP\qwtpolar-1.0.1

и вводим команды

qmake qwtpolar.pro -r -spec win32-g++
mingw32-make
mingw32-make install

По окончании сборки и копирования файлов в каталоге C:\Qt должна появиться папка qwtpolar-1.0.1.

7. Прописываем в переменную среды Path путь

C:\Qt\qwtpolar-1.0.1\lib

Windows XP:   Мой компьютер > Свойства > Дополнительно > Переменные среды > Path > Изменить
Windows 7:   Мой компьютер > Свойства > Дополнительные параметры системы > Переменные среды > Системные переменные > Path > Изменить

8. Для того, чтобы виджеты установленной библиотеки были доступны в дизайнере форм, копируем содержимое папки D:\TEMP\qwtpolar-1.0.1\designer\plugins\designer в папку C:\Qt\qt-4.8.4\plugins\designer или, соответственно, в папку C:\Qt\qt-5.0.1\qtbase\plugins\designer.

На этом установка завершена.

Замечание.

Выполнение пункта 8 гарантирует доступность виджета библиотеки QwtPolar только в дизайнере форм, поставляемом с библиотекой Qt (см. группу ярлыков библиотеки Qt в меню Пуск), на панели инструментов должна появиться группа виджетов, изображенная на рисунке

Если же открыть какую-либо форму дизайнером, интегрированным в Qt Creator, то данная группа виджетов на панели инструментов отсутствует. Эта проблема обсуждается на форумах, например, здесь. Причиной называют то, что Qt Creator, поставляемый в инсталяционных файлах, собран с помощью Microsoft Visual C++, и плагины, собранные с помощью MinGW, он не понимает. Все встанет на свои места, если пересобрать Qt Creator из исходников, о том как это сделать читайте в посвященной этому вопросу статье. Дополнительную информацию о настройке плагина Qwt (и QwtPolar) смотрите здесь.