crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

8 страниц V  « < 5 6 7 8 >  
Ответить в данную темуНачать новую тему
> Работа с 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. В моём случае:
win32 {
    INSTALLBASE    = C:/C++/Qwt-5.1.2
}

Стоит обратить внимание, что в файлах *.pro пути пишутся не как в Windows, например с применением не такой "\" черты, а такой "/". Другие варианты:
    INSTALLBASE    = C:\\C++\\Qwt-5.1.2
    INSTALLBASE    = "C:\C++\Qwt-5.1.2"

Пробел кодируется "\ ".
Также можно подправить CONFIG, например:
CONFIG += debug_and_release
Теперь можно компилировать. Однако, скорее всего вылезет примерно такая ошибка:
'qHash(const double&)' is ambiguous

Я сделал так (и проблем от этого не словил):
залез в qhash.h:
{путь к SDK}\qt\src\corelib\tools\qhash.h
и добавил строку:
inline uint qHash(const double &key) { return uint(key); }

Теперь скомпилируется.

После компиляции в {путь к Qwt}\lib появится qwt5.dll, который нужно сделать видимым: прописать путь, или засунуть в System32, или добавлять к каждому проекту, etc
Теперь есть возможность использовать Qwt и в {путь к Qwt}\examples начнут компилироваться проекты.
Чтобы использовать Qwt в своём проекте нужно в файле *.pro дописать:
INCLUDEPATH += {путь к Qwt}/src
LIBS += {путь к Qwt}/lib/libqwt5.a

У меня это выглядит так:
INCLUDEPATH += C:/C++/qwt-5.1.2/src
LIBS += C:/C++/qwt-5.1.2/lib/libqwt5.a


Осталось настроить виджеты. И здесь ждёт засада. Первым делом я скопировал файлы из {путь к 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
Делаю это
#include <QtGui/QApplication>
#include <qwt_plot.h>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QwtPlot p;
    p.show();

    return a.exec();
}


При компиляции ошибок нету,
зато просто в трейсере
Цитата
Запускается E:\Qt\projects\QWT_TEST-build-desktop\debug\QWT_TEST.exe...
E:\Qt\projects\QWT_TEST-build-desktop\debug\QWT_TEST.exe завершился с кодом -1073741515


В файл проекта дописывал следующие:
QWT_ROOT = C:/qwt-6.0.0-rc5
INCLUDEPATH += $${QWT_ROOT}/include
LIBS += $${QWT_ROOT}/lib/libqwt.a

или
..
LIBS += -lqwt



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  


error while loading shared libraries: libqwt.so.5: cannot open shared object file: Error 40

Куда копать?
Уже и пересобрал, и пути по разному указывал. В никакую.
Ни примеры, ни моя прога не запускаются.

Собирал так:
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 я прописывал
LIBS += -L"/usr/local/lib" -lqwt
это тоже не работало. Получал туже ошибку.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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  


$ ls -l /usr/local/lib
total 12
drwxrwsr-x 3 root staff 4096 2011-03-03 18:41 ocaml
drwxr-xr-x 2 root root  4096 2011-03-19 01:44 pkgconfig
drwxrwsr-x 4 root staff 4096 2010-10-07 18:58 python2.6
Блин! :lol:

$ sudo ldconfig /usr/local/qwt-5.2.2-svn/lib

Работает:
Раскрывающийся текст

Всем спасибо.

Сообщение отредактировал RazrFalcon - 20.3.2011, 21:37
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

8 страниц V  « < 5 6 7 8 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 13:03