Windows
Для сборки библиотеки Qwt потребуется MSYS с дополнительной утилитой patch, он устанавливается вместе с MinGW 4.6 (см. здесь). Кроме того, следует определиться с какими инструментами (подробности в статье) будет использоваться устанавливаемая библиотека, именно с этой связкой ее необходимо и собирать. Здесь возможны два варианта
Qt 4 и MinGW 4.6
Qt 5 и MinGW 4.7
Поскольку библиотека Qwt не использует OpenGL, совершенно не важно с какой опцией сконфигурирована Qt 5 -opengl es2 -angle или -opengl desktop. Для разнообразия далее будем полагать, что используется SDK, установленный в папку по умолчанию C:\Qt\Qt5.0.1, в котором, как известно, Qt 5 сконфигурирована с опцией -opengl es2 -angle, а MinGW 4.7 установлен вместе с библиотекой в папку C:\Qt\Qt5.0.1\Tools\MinGW.
Заранее договоримся, что непосредственно файлы библиотеки Qwt будут собираться в обеих конфигурациях релизной и отладочной, плагин для дизайнера форм в релизной конфигурации (плагин, собранный в отладочной конфигурации, дизайнер не воспринимает). Примеры использования виджетов, поставляемые с библиотекой Qwt, будут собираться только с Qt 4 (в качестве демонстрации в отладочной конфигурации), а с Qt 5 для сокращения количества правок исходного кода не будут.
Разработчиком распространяется две ветки библиотеки Qwt 5.x.x и 6.x.x. Первая, на мой взгряд, меньше тормозит, а вторая в целом работает корректнее, в особенности это проявляется при использовании Qt 5. Но "на вкус и цвет", как говорится, ... Установка этих версий мало чем отличается друг от друга, но во избежание лишнего "похудения мозга" инструкции для каждой из них даются отдельно. В Windows могут быть установлены сразу обе ветки библиотеки. Переключение между ними осуществляется путем изменения пути к библиотеке в переменной среды Path и именения описания библиотеки в файле проекта.
Версия 5.x.x
1. Скачиваем с сайта разработчика архив
qwt-5.2.3.zip
(версия на момент написания статьи)
распаковываем его в какую либо временную папку, например, в D:\TEMP.
2. Скачиваем патч
qwt5_qt4_patch.zip
для сборки с Qt 4 или
qwt5_qt5_patch.zip для
сборки с Qt 5
распаковываем его в папку D:\TEMP\qwt-5.2.3.
3. Запускаем MinGW Shell (см. группу ярлыков MinGW в меню Пуск или файл C:\Qt\mingw-4.6\msys\1.0\msys.bat) и вводим команды
cd /d/TEMP/qwt-5.2.3
patch -Np1 -i qwt5_qt4.patch для сборки с Qt 4
или
patch -Np1 -i qwt5_qt5.patch для сборки с Qt 5
4. Правим файл D:\TEMP\qwt-5.2.3\qwtconfig.pri
прописываем свой каталог установки, например
INSTALLBASE = C:/Qt/qwt-$$VERSION
если нет желания собирать примеры с Qt 4, комментируем строку "CONFIG += QwtExamples".
5. Запускаем Qt 4.8.4 Command Prompt (см. группу ярлыков библиотеки Qt в меню Пуск) или Qt 5.0.1 for Desktop (MinGW 4.7). Переходим в каталог, содержащий распакованную библиотеку
cd /D D:\TEMP\qwt-5.2.3
и вводим команды
qmake qwt.pro -r -spec win32-g++
mingw32-make
mingw32-make install
Сборка выполнится быстрей, если применяется распараллеливание компиляции (см. соответствующие статьи здесь или здесь). По окончании сборки и копирования файлов в каталоге C:\Qt должна появиться папка qwt-5.2.3.
6. Прописываем в переменную среды Path путь
C:\Qt\qwt-5.2.3\lib
Windows XP: Мой компьютер
> Свойства > Дополнительно > Переменные среды >
Path > Изменить
Windows 7: Мой компьютер >
Свойства > Дополнительные параметры системы > Переменные среды
> Системные переменные > Path > Изменить
7. Для того, чтобы виджеты установленной библиотеки были доступны в дизайнере форм, копируем содержимое папки D:\TEMP\qwt-5.2.3\designer\plugins\designer в папку C:\Qt\qt-4.8.4\plugins\designer или, соответственно, в папку C:\Qt5.0.1\5.0.1\mingw47_32\plugins\designer.
На этом установка завершена.
Версия 6.x.x
1. Скачиваем с сайта разработчика архив
qwt-6.0.2.zip
(версия на момент написания статьи)
распаковываем его в какую либо временную папку, например, в D:\TEMP.
2. Скачиваем патч
qwt6_qt4_patch.zip
для сборки с Qt 4 или
qwt6_qt5_patch.zip для
сборки с Qt 5
распаковываем его в папку D:\TEMP\qwt-6.0.2.
3. Запускаем MinGW Shell (см. группу ярлыков MinGW в меню Пуск или файл C:\Qt\mingw-4.6\msys\1.0\msys.bat) и вводим команды
cd /d/TEMP/qwt-6.0.2
patch -Np1 -i qwt6_qt4.patch для сборки с Qt 4
или
patch -Np1 -i qwt6_qt5.patch для сборки с Qt 5
4. Правим файл D:\TEMP\qwt-6.0.2\qwtconfig.pri
прописываем свой каталог установки, например
QWT_INSTALL_PREFIX = C:/Qt/qwt-$$QWT_VERSION
если нет желания собирать примеры с Qt 4, комментируем строку "CONFIG += QwtExamples".
5. Запускаем Qt 4.8.4 Command Prompt (см. группу ярлыков библиотеки Qt в меню Пуск) или Qt 5.0.1 for Desktop (MinGW 4.7). Переходим в каталог, содержащий распакованную библиотеку
cd /D D:\TEMP\qwt-6.0.2
и вводим команды
qmake qwt.pro -r -spec win32-g++
mingw32-make
mingw32-make install
Сборка выполнится быстрей, если применяется распараллеливание компиляции (см. соответствующие статьи здесь или здесь). По окончании сборки и копирования файлов в каталоге C:\Qt должна появиться папка qwt-6.0.2.
6. Прописываем в переменную среды Path путь
C:\Qt\qwt-6.0.2\lib
Windows XP: Мой компьютер
> Свойства > Дополнительно > Переменные среды >
Path > Изменить
Windows 7: Мой компьютер >
Свойства > Дополнительные параметры системы > Переменные среды
> Системные переменные > Path > Изменить
7. Для того, чтобы виджеты установленной библиотеки были доступны в дизайнере форм, копируем содержимое папки D:\TEMP\qwt-6.0.2\designer\plugins\designer в папку C:\Qt\qt-4.8.4\plugins\designer или, соответственно, в папку C:\Qt5.0.1\5.0.1\mingw47_32\plugins\designer.
На этом установка завершена.
Замечание.
Выполнение пункта 7 гарантирует доступность виджетов библиотеки Qwt только в дизайнере форм, поставляемом с библиотекой Qt (см. группу ярлыков библиотеки Qt в меню Пуск), на панели инструментов должна появиться группа виджетов, изображенная на рисунке
Если же открыть какую-либо форму дизайнером, интегрированным в Qt Creator, то данная группа виджетов на панели инструментов отсутствует. Эта проблема обсуждается на форумах, например, здесь. Причиной называют то, что Qt Creator, поставляемый в инсталяционных файлах, собран с помощью Microsoft Visual C++, и плагины, собранные с помощью MinGW, он не понимает. Все встанет на свои места, если пересобрать Qt Creator из исходников, о том как это сделать читайте в посвященной этому вопросу статье. Дополнительную информацию о настройке плагина Qwt смотрите здесь.