Windows

Заранее договоримся, что непосредственно файлы библиотеки QwtPolar будут собираться в обеих конфигурациях – релизной и отладочной, плагин для дизайнера форм – в релизной конфигурации (плагин, собранный в отладочной конфигурации, дизайнер не воспринимает), примеры, поставляемые с библиотекой, в качестве демонстрации – в отладочной конфигурации. Предполагается, что у Вас установлена версия 4.8.2 библиотеки Qt (самая свежая на момент написания статьи) или старше. От более ранних версий ее отличает конфигурация сборки по умолчанию, более подробно об этом можно почитать здесь. Поэтому в инструкциях по установке присутствуют вариации.

Для определенности будем считать, что у Вас уже установлена библиотека Qwt 5.2.2 в папку C:/Qt/qwt-5.2.2 или Qwt 6.0.1 в папку C:/Qt/qwt-6.0.1 (версии на момент написания статьи). Если еще нет, порядок установки библиотеки Qwt можно посмотреть в соответствующей статье. Установка QwtPolar для Qwt версий 5.x.x и 6.x.x немного различается, поэтому во избежание путаницы инструкции для каждого из этих вариантов даются отдельно.

Для Qwt 5.x.x

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

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

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

3. Создаем файл D:\TEMP\qwtpolar-0.1.0\qwt.pri со следующим содержимым

QWT_VER = 5.2.2

QWT_PATH = C:/Qt/qwt-$${QWT_VER}
QWT_INC_PATH = $${QWT_PATH}/include
DEBUG_SFX =
CONFIG(debug,debug|release) {
  DEBUG_SFX = d
}
QWT_LIB = qwt$${DEBUG_SFX}5

INCLUDEPATH += $${QWT_INC_PATH}
LIBS += -L$${QWT_PATH}/lib -l$${QWT_LIB}

4. Правим файл D:\TEMP\qwtpolar-0.1.0\qwtpolar.pri так, как показано ниже



5. Правим файл D:\TEMP\qwtpolar-0.1.0\src\src.pro
сразу после строки "include( $${QWT_POLAR_ROOT}/qwtpolar.pri )" вставляем строки

CONFIG += debug_and_release
CONFIG += build_all
include( $${QWT_POLAR_ROOT}/qwt.pri )

6. Правим файл D:\TEMP\qwtpolar-0.1.0\designer\designer.pro

– если у Вас версия Qt более ранняя, чем 4.8.2, сразу после строки "include ( $${QWTPOLAR_ROOT}/qwtpolar.pri )" вставляем строку

CONFIG += release

– для всех версий Qt там же добавляем строку

include ( $${QWTPOLAR_ROOT}/qwt.pri )

ВНИМАНИЕ! Переменная QWTPOLAR_ROOT в файле qwtpolar.pro отличается от похожей переменной QWT_POLAR_ROOT из файла src.pro.

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

– если у Вас версия Qt 4.8.2, сразу после строки "include( $${QWT_POLAR_ROOT}/qwtpolar.pri )" вставляем строку

CONFIG += debug

– если у Вас версия Qt 4.8.x, там же добавляем строку

CONFIG += declarative_debug

– для всех версий Qt там же добавляем строку

include( $${QWT_POLAR_ROOT}/qwt.pri )

– для всех версий Qt в строке "DESTDIR = $${QWT_POLAR_ROOT}/examples/bin$${SUFFIX_STR}" убираем суффикс $${SUFFIX_STR}.

Замечание. Переменная QWT_POLAR_ROOT в файле examples.pri такая же, как и в файле src.pro.

8. Запускаем Qt 4.8.2 Command Prompt (см. группу ярлыков библиотеки Qt в меню Пуск, у Вас может быть и другая версия).

9. Переходим в каталог, содержащий распакованную библиотеку

D:
cd TEMP\qwtpolar-0.1.0

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

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

Сборка выполнится быстрей, если применяется распараллеливание компиляции (см. соответствующую статью). По окончании сборки и копирования файлов в каталоге C:\Qt должна появиться папка qwtpolar-0.1.0.

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

C:\Qt\qwtpolar-0.1.0\lib

Для этого кликаем правой кнопкой мыши по значку Мой компьютер, выбираем пункт контекстного меню Свойства, открываем вкладку Дополнительно, кликаем кнопку Переменные среды, в списке переменных выделяем переменную Path и нажимаем кнопку Изменить. Прописав через точку с запятой вышеуказанный путь, нужное число раз нажимаем OK.

11. Для того, чтобы единственный виджет установленной библиотеки был доступен в дизайнере форм, копируем содержимое папки D:\TEMP\qwtpolar-0.1.0\designer\plugins\designer в папку C:\Qt\qt-4.8.2\plugins\designer (у Вас может быть и другая версия библиотеки Qt).

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

Для Qwt 6.x.x

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

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

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

3. Создаем файл D:\TEMP\qwtpolar-1.0.1\qwt.pri со следующим содержимым

QWT_VER = 6.0.1

QWT_PATH = C:/Qt/qwt-$${QWT_VER}
QWT_INC_PATH = $${QWT_PATH}/include
DEBUG_SFX =
CONFIG(debug,debug|release) {
  DEBUG_SFX = d
}
QWT_LIB = qwt$${DEBUG_SFX}

INCLUDEPATH += $${QWT_INC_PATH}
LIBS += -L$${QWT_PATH}/lib -l$${QWT_LIB}

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

– исправляем младшую часть номера версии в строке "QWT_POLAR_VER_PAT = 0" (1 вместо 0);

– в строке "QWT_POLAR_INSTALL_PREFIX = C:/QwtPolar-$$QWT_POLAR_VERSION" прописываем свой каталог установки

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

– убираем значок комментария в строке "# QWT_POLAR_CONFIG += QwtPolarExamples".

В файле D:\TEMP\qwtpolar-1.0.1\qwtpolarbuild.pri комментируем строки

CONFIG += debug_and_release
CONFIG += build_all

5. Правим файл D:\TEMP\qwtpolar-1.0.1\src\src.pro
сразу после строки "include( $${QWT_POLAR_ROOT}/qwtpolarbuild.pri )" вставляем строки

CONFIG += debug_and_release
CONFIG += build_all
include( $${QWT_POLAR_ROOT}/qwt.pri )

6. Правим файл D:\TEMP\qwtpolar-1.0.1\designer\designer.pro

– если у Вас версия Qt более ранняя, чем 4.8.2, сразу после строки "include ( $${QWT_POLAR_ROOT}/qwtpolarbuild.pri )" вставляем строку

CONFIG += release

– для всех версий Qt там же добавляем строку

include ( $${QWT_POLAR_ROOT}/qwt.pri )

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

– если у Вас версия Qt 4.8.2, сразу после строки "include( $${QWT_POLAR_ROOT}/qwtpolarbuild.pri )" вставляем строку

CONFIG += debug

– если у Вас версия Qt 4.8.x, там же добавляем строку

CONFIG += declarative_debug

– для всех версий Qt там же добавляем строку

include( $${QWT_POLAR_ROOT}/qwt.pri )

– для всех версий Qt в строке "DESTDIR = $${QWT_POLAR_ROOT}/examples/bin$${SUFFIX_STR}" убираем суффикс $${SUFFIX_STR}.

8. Запускаем Qt 4.8.2 Command Prompt (см. группу ярлыков библиотеки Qt в меню Пуск, у Вас может быть и другая версия).

9. Переходим в каталог, содержащий распакованную библиотеку

D:
cd TEMP\qwtpolar-1.0.1

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

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

Сборка выполнится быстрей, если применяется распараллеливание компиляции (см. соответствующую статью). По окончании сборки и копирования файлов в каталоге C:\Qt должна появиться папка qwtpolar-1.0.1.

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

C:\Qt\qwtpolar-1.0.1\lib

Для этого кликаем правой кнопкой мыши по значку Мой компьютер, выбираем пункт контекстного меню Свойства, открываем вкладку Дополнительно, кликаем кнопку Переменные среды, в списке переменных выделяем переменную Path и нажимаем кнопку Изменить. Прописав через точку с запятой вышеуказанный путь, нужное число раз нажимаем OK.

11. Для того, чтобы единственный виджет установленной библиотеки был доступен в дизайнере форм, копируем содержимое папки D:\TEMP\qwtpolar-1.0.1\designer\plugins\designer в папку C:\Qt\qt-4.8.2\plugins\designer (у Вас может быть и другая версия библиотеки Qt).

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

Замечание.

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

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