Russian Qt Forum

Qt => Вопросы новичков => Тема начата: karpenko1989 от Декабрь 20, 2011, 14:45



Название: Запуск примеров проектов из библиотеки QWT
Отправлено: karpenko1989 от Декабрь 20, 2011, 14:45
Здравствуйте, в QT пока что еще новичок. Скачал с оффициального сайта  QtSDK. Появилась необходимость в отображении графиков. Установил библиотеку Qwt 6.0.1.
Запускаю пример dials, идущий в комплекте с библиотекой.  В файле .pro прописаны пути

Цитировать
INCLUDEPATH += C:/QtSDK/qwt-6.0.1/include
LIBS += C:/QtSDK/qwt-6.0.1/lib/libqwtd.a

Программа компилируется без ошибок и сразу же завершается:

Код:
Запускается C:\QtSDK\QTProj\dials-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK_________\debug\dials.exe...
C:\QtSDK\QTProj\dials-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK_________\debug\dials.exe завершился с кодом 128

Прошу подсказать что я делаю не так, пример с сайта http://qtlinux.narod.ru/use_qwtplot.htm запускается без ошибок.


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: twp от Декабрь 20, 2011, 16:20
проверь зависимости через Dependency Walker, наверно не видит qwt либы


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: karpenko1989 от Декабрь 21, 2011, 07:13
библиотеки он видит, некоторые примеры он ведь запускает. Может есть еще какие-нибудь варианты решения проблемы?
Qt ставил на только что установленную Windows XP SP3. В переменной path прописано:
Код:
C:\QtSDK\Qwt-6.0.1\include;C:\QtSDK\Qwt-6.0.1\lib

В консоле сборке выводится:
c:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: warning: auto-importing has been activated without --enable-auto-import specified on the command line.
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.
Процесс «C:\QtSDK\mingw\bin\mingw32-make.exe» завершился нормально.


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: twp от Декабрь 21, 2011, 15:29
ну так кто ж в PATH заносит пути к инклудам и lib-файлам? и зачем в pro файл добавлять
Цитировать
INCLUDEPATH += C:/QtSDK/qwt-6.0.1/include
LIBS += C:/QtSDK/qwt-6.0.1/lib/libqwtd.a
в инструкции по инсталляции ясно сказано:
Цитировать
...
Using Qwt
===========

For building a Qwt application with qmake use the Qwt configuration features
file, that has been installed by "make install". When qmake is able to find
it ( http://doc.qt.nokia.com/4.7/qmake-advanced-usage.html#adding-new-configuration-features )
you can simply add "CONFIG += qwt" to your application project file


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: karpenko1989 от Декабрь 22, 2011, 08:10
Так нивкакую не хочет запускаться, сразу вываливается куча сообщений об ошибках, no such file.
Может быть есть ещё какие-нибудь варианты? Запускаю проект http://qtlinux.narod.ru/files/demo_qwtzoom_pro.zip, все работает отлично, ни одной ошибки. А пытаясь запустить проект http://qtlinux.narod.ru/files/demo_qwtbarzoom_pro.zip программа сразу же вылетает с кодом 128.


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: twp от Декабрь 22, 2011, 11:01
ну так
Цитировать
INCLUDEPATH += C:/Qt/qwt-5.2.1/include
LIBS    += C:/Qt/qwt-5.2.1/lib/libqwt5.a
в этом проекте используется предыдущая версия qwt, и она не совместима с 6-й версией


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: karpenko1989 от Декабрь 22, 2011, 12:49
Извиняюсь, забыл написать что установил уже 5.2.1., чтобы попробовыть данные примеры, и вот с ней большая часть проектов не запускается


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: twp от Декабрь 22, 2011, 14:10
т.е. все таже фигня - собирается, но при старте вылет? а проверял зависимости через Dependency Walker? Еще есть плагин для тотал коммандера FileInfo.wlx


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: karpenko1989 от Декабрь 23, 2011, 07:46
При запуске откомпилированного екзешника появляется сообщение:
(http://s1.ipicture.ru/uploads/20111223/thumbs/c18gSVcV.jpg) (http://s1.ipicture.ru/Gallery/Viewfull/7514555.html)

Запустил exe файл программой Dependency Walker, получил следующее:
(http://s1.ipicture.ru/uploads/20111223/thumbs/3E5QoY94.jpg) (http://s1.ipicture.ru/Gallery/Viewfull/7514556.html)
Как можно это исправить?


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: kambala от Декабрь 23, 2011, 09:16
дллки, которые обозначены знаком вопроса, надо скопировать в папку с экзэшником


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: twp от Декабрь 23, 2011, 11:16
Можно просто добавить в переменную среды PATH пути к этим либам


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: karpenko1989 от Декабрь 26, 2011, 07:26
Скинул dll'ки в папку с проектом, при запуске exe возникает ошибка: ошибка при инициализации приложения 0xc0000005.
Посмотрел в интернете про эту ошибку, не помогло. Пробовал на нескольких машинах под XP, Vista, Seven - не работает.
В Dependency Walker все знаки вопросов пропали, но висит предупреждение Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: kambala от Декабрь 26, 2011, 08:39
не от той версии дллки значит, надо собирать проект самому


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: karpenko1989 от Декабрь 26, 2011, 12:34
не от той версии дллки значит, надо собирать проект самому
в том то и дело что проект сам собрал


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: karpenko1989 от Декабрь 27, 2011, 09:11
Еще раз переустановил qwt. Запускаю проект navigation идущий в комплекте с qwt 6.0.1. В pro файл проекта добавляю

Код:
TARGET       = navigation

HEADERS = \
    mainwindow.h \
    plot.h

SOURCES = \
    mainwindow.cpp \
    plot.cpp \
    main.cpp

QWT_LOCATION = C:/Qwt-6.0.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
}
При сборке проекта появляется предупреждение:
auto-importing has been activated without --enable-auto-import specified on the command line.

Проект собирается. но при запуске выводится:
Код:
Запускается C:\QtSDK\QtProj\navigation\release\navigation.exe...
Программа неожиданно завершилась.
C:\QtSDK\QtProj\navigation\release\navigation.exe завершился с кодом -1073741819


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: Kostya от Декабрь 27, 2011, 21:39
Попробуйте указать в переменной PATH путь к папке bin в QT Creator.
Например у меня он такой:
C:\Qt\2009.01\bin

А по-поводу ошибки в *.exe файле, то можно попробовать скопировать нужные *.dll файлы в папку с вашей программой(не самый лучший способ, но у меня сработал).

С уважением Kostya!


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: karpenko1989 от Декабрь 29, 2011, 07:38
Спасибо всем, проблему решил. При сборке библиотеки qwt нужно было в файле qwtconfig.pri сделать следующее:
Код:
4. build static libraries instead of shared (around line 77 to line 79)
Нашел это здесь http://www.qtcentre.org/threads/26174-How-to-use-QWT-in-QT4-Creator-on-Windows?p=127178#post127178 (http://www.qtcentre.org/threads/26174-How-to-use-QWT-in-QT4-Creator-on-Windows?p=127178#post127178).
Без этого половина проектов с использованием qwt не запускалась.


Название: Re: Запуск примеров проектов из библиотеки QWT
Отправлено: monstrl от Март 22, 2012, 18:01
Я не понял, QWT запустили под установочный QtSDK? Qtcreater не видит же виджетов библиотеки qwt. ОБ этом написано здесь http://qtlinux.narod.ru/install_qwt.htm. Или всетаки можно связать библитотеку со средой не парясь ее сборкой по частям?