Загрузка...
Linux
Новости, статьи, обсуждения, - все что связано с GNU Linux, FreeBSD, OpenBSD, Sun Solaris, Mac OS X и другими системами. Если вы интересуетесь данной темой - добро пожаловать в сообщество.
     

как заставить библиотеку Qwt работать на win32 (mingw)

19.01.11, 14:12
Автор ggg

В качестве практической части диплома я разрабатываю проект на Qt. Мне потребовалось визуально отображать результаты вычислений, для чего была подключена библиотека qwt, которая позволяет без лишних усилий отобразить научные графики. В Ubuntu библиотека ставится из репозиториев и подключается без видимых усилий: в .pro файле дописываем следующие строки

 

INCLUDEPATH += "/usr/include/qwt-qt4/"
LIBS += -lqwt-qt4

 

и все. В Windows все несколько сложнее.

 

 

Обозначим некоторые начальные данные: у меня установлена OpenSource версия Qt, которая работает с MinGW (не с Visual Studio). В комплекте с ней идет Qt Creator. Скачать все это хозяйство можно отсюда: http://get.qt.nokia.com/qtsdk/qt-sdk-win-opensource-2010.05.exe

Сначала скачиваем Qwt версии 5.2.1, распаковываем ее в какую-то папку и меняем файл qwtconfig.pri на этот. Разберем поподробнее, что дает нам смена конфига:

 

  1. собираются и release и debug версии библиотеки (удобно для разработки и тестирования своего приложения, ибо по-умолчанию собирается только release версия)
  2. собираются статические версии библиотек
Если пропустить указанный выше шаг, то приложение в режиме debug-сборки отказывается работать выдавая какие-то невнятные ошибки.
Собираем библиотеку qwt с помощью стандартных команд:
qmake
mingw32-make
После этого у нас появятся несколько .dll и несколько .a файлов. Теперь, когда библиотека готова перейдем к настройке приложения, которое эту библиотеку использует.
В .pro файл нужно добавить следующие строки:
QWT_LOCATION = C:/qwt-5.2.1
INCLUDEPATH += $${QWT_LOCATION}/src
LIBS = -L$${QWT_LOCATION}/lib \
    -lqwt

if(!debug_and_release|build_pass):CONFIG(debug, debug|release) { 
    win32:LIBS = $$member(LIBS, 0) \
        $$member(LIBS, 1)d
}
Где, C:/qwt-5.2.1 - путь до папки, в которую установлена библиотека qwt. После этих махинаций можно наслаждаться возможностями библиотеки qwt на windows-платформе. Я бы надолго застрял с настройкой, если бы не этот пост.
ключевые слова

Комментарии

Большое спасибо за этот пост. Очень помогло.

всегда пожалуйста, приятно что пост кому-то пригодился =)

Спасибо за пост, стало существенно более понятно =)

кстати, версия уже 6.0.0 http://sourceforge.net/projects/qwt/files/qwt/6.0.0/qwt-6.0.0.zip/download

на момент написания поста стабильная версия была 5.2, а 6.0 являлась RC (release candidate)

нашел, установка под Debian http://superumnik.blogspot.com/2012/03/qwt-debian.html может кому пригодиться.

мне не понравилась статья по ссылке: во-первых в Debian, как и в Ubuntu уже есть готовый пакет, поэтому на этом можно было бы и остановиться, во-вторых, если уж очень хочется установить из сырков, то логичнее было бы описать процесс сборки сырков в deb-пакет, чтобы позже можно было легко обновить/удалить библиотеку, в приведенной же вами статье используются 3 пресловутые команды: configure, make, make install, которые приводят к тому, что управлять установленной библиотекой становится крайне сложно. Ну ладно, если уж очень хочется использовать такой “дедовский” способ, даже после предыдущих аргументов, то нужно хотя бы prefix какой-нибудь указывать, чтобы знать куда положились собранные файлы

Привет. Спасибо за пост, но возникли проблемы. Я вообще новичок в Qt (3 день XD). Возникла необходимость отрисовки графиков. Выполнил инструкцию, приведенную автором. Сначала была проблема с тем, что не может найти библиотеку qwtd.lib. Решив ее, появилась проблема, что не может найти файл “d.obj” (бывают разные интерпретации: “\d.obj”,“\.obj”. Кто подскажет в чем проблема?

слишком мало данных

Я мучаюсь уже который день. Помогите!

Вот я тему создал, там всё описал: http://programmersforum.ru/showthread.php?t=224283

Войдите, чтобы оставить комментарий