Работа с Qwt |
Здравствуйте, гость ( Вход | Регистрация )
Работа с Qwt |
hexVoltt |
24.12.2009, 22:54
Сообщение
#61
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 19.12.2009 Пользователь №: 1318 Спасибо сказали: 1 раз(а) Репутация: 0 |
С Qwt разобрался.
Библиотеки неправильно подключал, теперь работает. В целом, написал небольшое пособие по установке Qwt, запосчу здесь: Исходные данные: Windows XP. Установленный Qt SDK: http://qt.nokia.com/downloads/sdk-windows-cpp В моём случае это 2009.05 (http://get.qt.nokia.com/qtsdk/qt-sdk-win-opensource-2009.05.exe) Скаченный Qwt: http://sourceforge.net/projects/qwt/files/ В моём случае 5.1.2 (http://sourceforge.net/projects/qwt/files/qwt/5.1.2/qwt-5.1.2.zip/download) В переменные окружения потребовалось только дописать в PATH всего два пути: {путь к SDK}\qt\bin и {путь к SDK}\mingw\bin Первым делом распаковываем Qwt Далее открываем {путь к Qwt}\qwt.pro через Qt Creator. Слева лезем в src/qwtconfig/qwtconfig.pri и правим путь к Qwt. В моём случае:
Стоит обратить внимание, что в файлах *.pro пути пишутся не как в Windows, например с применением не такой "\" черты, а такой "/". Другие варианты:
Пробел кодируется "\ ". Также можно подправить CONFIG, например: CONFIG += debug_and_release Теперь можно компилировать. Однако, скорее всего вылезет примерно такая ошибка:
Я сделал так (и проблем от этого не словил): залез в qhash.h: {путь к SDK}\qt\src\corelib\tools\qhash.h и добавил строку:
Теперь скомпилируется. После компиляции в {путь к Qwt}\lib появится qwt5.dll, который нужно сделать видимым: прописать путь, или засунуть в System32, или добавлять к каждому проекту, etc Теперь есть возможность использовать Qwt и в {путь к Qwt}\examples начнут компилироваться проекты. Чтобы использовать Qwt в своём проекте нужно в файле *.pro дописать:
У меня это выглядит так:
Осталось настроить виджеты. И здесь ждёт засада. Первым делом я скопировал файлы из {путь к Qwt}designer\plugins\designer в {путь к SDK}qt\plugins\designer. После чего в Qt Designer стали доступны виджеты Qwt. Однако, через Qt Creator при открытии формы они доступны не будут, т.к. плагины должны находится в {путь к SDK}bin\designer. Но копирование не поможет. Если нажать в моём русифицированном Qt: Инструменты\Редактор форм\О модулях Qt Designer - станет ясно почему, выдаёт что-то вроде: "ожидался ключ Windows msvc, а получен ключ Windows mingw". Ура товарищи, Qt Creator скомпилирован под msvc, в то время как все прочие модули, находящиеся в {путь к SDK}qt\bin под mingw. Эта проблема решается так: скачиваем исходники Qt Creator: http://qt.nokia.com/downloads/qt-creator-source-package Компилируем их через установленный Qt Creator. Новоиспечённый Qt Creator готов к работе. Он даже будет видеть плагины, подключённые к Qt Designer из SDK. Главное не забывать добавлять в проектах INCLUDEPATH и LIBS, иначе можно получить неприятную ошибку: -1: error: collect2: ld returned 1 exit status. Это касается всех плагинов. |
|
|
AntonH851 |
6.10.2010, 10:32
Сообщение
#62
|
Студент Группа: Участник Сообщений: 66 Регистрация: 20.2.2010 Из: Шебекино Пользователь №: 1475 Спасибо сказали: 1 раз(а) Репутация: 0 |
для запуска программы с qwt достаточно qwt5.dll. Проблема была в другом.
Сообщение отредактировал AntonH851 - 6.10.2010, 11:52 |
|
|
horror812 |
9.3.2011, 20:38
Сообщение
#63
|
Студент Группа: Новичок Сообщений: 12 Регистрация: 24.2.2011 Пользователь №: 2443 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем привет!
Тоже решил поставить QWT Делаю так qmake qwt.pro make make install Все прошло, ошибок не было все файлы появились. Создаю в QT Creator Проект QT Делаю это При компиляции ошибок нету, зато просто в трейсере Цитата Запускается E:\Qt\projects\QWT_TEST-build-desktop\debug\QWT_TEST.exe... E:\Qt\projects\QWT_TEST-build-desktop\debug\QWT_TEST.exe завершился с кодом -1073741515 В файл проекта дописывал следующие:
или
Windows\MinGW\QT.4.7(2010.05)\QWT-6.0.0-rc5 Пробовал и библиотеки кидать в папку QT и к приложению. Вообщем и не знаю в чем дело) буду рад помощи. ПС примеры Qwt с компилировались при компиляции библиотеки и работают. А вот мое нет ( |
|
|
RazrFalcon |
20.3.2011, 19:09
Сообщение
#64
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Куда копать? Уже и пересобрал, и пути по разному указывал. В никакую. Ни примеры, ни моя прога не запускаются. Собирал так: svn co https://qwt.svn.sourceforge.net/svnroot/qwt/branches/qwt-5.2 qmake qwt.pro make cd examples qmake make -i sudo make install Пути: LIBS += -lqwt LIBS +=-L"/usr//local/lib" -lqwt LIBS += "/media/data/Additional/qwt-5.2/lib/libqwt.so.5.2.2" \ "/media/data/Additional/qwt-5.2/lib/libqwt.so.5.2" \ "/media/data/Additional/qwt-5.2/lib/libqwt.so.5" \ "/media/data/Additional/qwt-5.2/lib/libqwt.so" |
|
|
Litkevich Yuriy |
20.3.2011, 19:49
Сообщение
#65
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
вечно забываю как в лине посмотреть и настроить разделяемые библиотеки.
что-то там про ldd и ещё что-то. Ищи по форуму, было. |
|
|
RazrFalcon |
20.3.2011, 20:23
Сообщение
#66
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Хм...
Раскрывающийся текст $ ldd bode linux-gate.so.1 => (0xb7783000) libqwt.so.5 => not found libpthread.so.0 => /lib/libpthread.so.0 (0x00c9f000) libQtSvg.so.4 => /usr/lib/libQtSvg.so.4 (0x00934000) libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x023b3000) libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x00697000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x003e1000) libm.so.6 => /lib/libm.so.6 (0x00cbb000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x003c3000) libc.so.6 => /lib/libc.so.6 (0x00b3a000) /lib/ld-linux.so.2 (0x00b1a000) libz.so.1 => /lib/libz.so.1 (0x00ce3000) libQtDBus.so.4 => /usr/lib/libQtDBus.so.4 (0x00570000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00391000) libaudio.so.2 => /usr/lib/libaudio.so.2 (0x004d0000) libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xb769a000) libpng12.so.0 => /lib/libpng12.so.0 (0x0036a000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x002f1000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7657000) libSM.so.6 => /usr/lib/libSM.so.6 (0x00504000) libICE.so.6 => /usr/lib/libICE.so.6 (0x0050f000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00dec000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00db1000) libX11.so.6 => /usr/lib/libX11.so.6 (0x001d2000) libdl.so.2 => /lib/libdl.so.2 (0x00c99000) libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7651000) librt.so.1 => /lib/librt.so.1 (0x00cfa000) libQtXml.so.4 => /usr/lib/libQtXml.so.4 (0x0052a000) libexpat.so.1 => /lib/libexpat.so.1 (0x00dc3000) libXt.so.6 => /usr/lib/libXt.so.6 (0x0061e000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00d3c000) libpcre.so.3 => /lib/libpcre.so.3 (0x00d05000) libuuid.so.1 => /lib/libuuid.so.1 (0xb764a000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00d49000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00d65000) |
|
|
BRE |
20.3.2011, 20:44
Сообщение
#67
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Загрузчик ld ищет разделяемые библиотеки в определенных (заданных) местах.
Расположение "/media/data/Additional/qwt-5.2/lib" не стандартно. Читай: man ldconfig и устанавливай библиотеки нормально или прописывай свои размещения в /etc/ld.so.conf |
|
|
RazrFalcon |
20.3.2011, 21:08
Сообщение
#68
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Либы qwt установились в /usr/local/lib
Я выполнил: Раскрывающийся текст $ sudo ldconfig /usr/local/lib $ cat /etc/ld.so.conf.d/*.conf /usr/lib/fglrx # Multiarch support /lib/i686-linux-gnu /usr/lib/i686-linux-gnu /usr/lib/alsa-lib # libc default configuration /usr/local/lib cd /media/data/Additional/qwt-5.2/examples/bin $ ./bode ./bode: error while loading shared libraries: libqwt.so.5: cannot open shared object file: No such file or directory В .pro я прописывал это тоже не работало. Получал туже ошибку.
|
|
|
BRE |
20.3.2011, 21:12
Сообщение
#69
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
А что выдаст:
ls -l /usr/local/lib |
|
|
RazrFalcon |
20.3.2011, 21:36
Сообщение
#70
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Блин!
Работает: Всем спасибо. Сообщение отредактировал RazrFalcon - 20.3.2011, 21:37 |
|
|
Текстовая версия | Сейчас: 23.11.2024, 8:40 |