Russian Qt Forum

Qt => Вопросы новичков => Тема начата: demaker от Август 07, 2013, 12:07



Название: QWT
Отправлено: demaker от Август 07, 2013, 12:07
Скажите
У меня Qt Creator 1.3.1
Qt 4.6.1

Скачал qwt 6.1.0
открыл про через креатор.
Скомпилил.
Либы появились в папке lib
Пытаюсь запустить экзамплы.
В консоле сборке
Код:
Запускается: c:/qt/2010.01/qt/bin/qmake.exe C:/Qt/qwt-6.1.0/examples/oscilloscope/oscilloscope.pro -spec win32-g++ -r 
Завершено с кодом 0.
Запускается: C:/Qt/2010.01/mingw/bin/mingw32-make.exe -w
mingw32-make: Entering directory `C:/Qt/qwt-6.1.0/examples/oscilloscope'
C:/Qt/2010.01/mingw/bin/mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `C:/Qt/qwt-6.1.0/examples/oscilloscope'
compiling signaldata.cpp
compiling plot.cpp
compiling knob.cpp
compiling wheelbox.cpp
compiling samplingthread.cpp
compiling curvedata.cpp
compiling mainwindow.cpp
compiling main.cpp
moc plot.h
compiling moc/moc_plot.cpp
moc knob.h
compiling moc/moc_knob.cpp
moc wheelbox.h
compiling moc/moc_wheelbox.cpp
moc samplingthread.h
compiling moc/moc_samplingthread.cpp
moc mainwindow.h
compiling moc/moc_mainwindow.cpp
linking ..\bin_debug\oscilloscope.exe
mingw32-make[1]: Leaving directory `C:/Qt/qwt-6.1.0/examples/oscilloscope'
C:/Qt/2010.01/mingw/bin/mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory `C:/Qt/qwt-6.1.0/examples/oscilloscope'
compiling signaldata.cpp
compiling plot.cpp
compiling knob.cpp
compiling wheelbox.cpp
compiling samplingthread.cpp
compiling curvedata.cpp
compiling mainwindow.cpp
compiling main.cpp
compiling moc/moc_plot.cpp
compiling moc/moc_knob.cpp
compiling moc/moc_wheelbox.cpp
compiling moc/moc_samplingthread.cpp
compiling moc/moc_mainwindow.cpp
linking ..\bin\oscilloscope.exe
mingw32-make[1]: Leaving directory `C:/Qt/qwt-6.1.0/examples/oscilloscope'
mingw32-make: Leaving directory `C:/Qt/qwt-6.1.0/examples/oscilloscope'
Завершено с кодом 0.

А после в консоль приложения
Код:
C:\Qt\qwt-6.0.1\bin_debug\oscilloscope.exe завершился с кодом -1073741515

В PATH прописал
Не работаает  ???
Почему???


Название: Re: QWT
Отправлено: gorec323 от Август 07, 2013, 22:53
Попробуй закинуть в папку с программой (C:\Qt\qwt-6.0.1\bin_debug\) закинуть библиотеку qwtd.dll(скорей всего она так будет называться для debug версии).


Название: Re: QWT
Отправлено: demaker от Август 08, 2013, 13:00
спсб


Название: Re: QWT
Отправлено: max-gambit от Октябрь 17, 2013, 13:53
Добрый день. Нужно разобраться с работой с qwt, в qt новичек. Начал с изучения стандартных примеров, вопросы следующие:
Что за оператор $$? Никак не могу разобраться. И что означает запись QWT_ROOT = $${PWD}/..
Из стандартной папки с примерами все запускается, в любой другой - нет. Я так понимаю что в .pri файлах описаны пути, помещаю examples.pri, qwtconfig.pri, qwtbuild.pri, qwtfunctions.pri в папку с проектом указываю для всех  include(файл.pri) но проект не запускается.
Заранее спасибо


Название: Re: QWT
Отправлено: alex312 от Октябрь 17, 2013, 14:25
Что за оператор $$? Никак не могу разобраться. И что означает запись QWT_ROOT = $${PWD}/..
http://qt-project.org/doc/qt-5.0/qtdoc/qmake-advanced-usage.html#variables


Название: Re: QWT
Отправлено: max-gambit от Октябрь 23, 2013, 14:37
День добрый. Подключил qwt  по этому уроку: http://m.youtube.com/watch?v=Iveh4cAvaRQ
Стандартные примеры запускаются. Создал GUI приложение QT, в .pro файле написал
LIBS += -L "C:\ qwt-6.0.1\lib"
INCLUDEPATH += $$quote(C:\qwt-6.0.1\include)
.h файлы все видит. В mainwindow.ui создал виджет, преобразовал его в QwtPlot, при запуске  выдает такую ошибку:
Undefined reference to 'QwtPlot::QwtPlot(Qwidget*)'
Collect2: ld returned 1exit status
Вопрос: в чем проблема? Он не видит библиотеку или что?


Название: Re: QWT
Отправлено: alex312 от Октябрь 23, 2013, 14:57
Вопрос: в чем проблема? Он не видит библиотеку или что?
Очень похоже, что не видит.
Выложи лог компиляции проекта.


Название: Re: QWT
Отправлено: max-gambit от Октябрь 23, 2013, 16:46
17:38:51: Выполняется сборка проекта new1....
17:38:51: Настройки не изменились, этап qmake пропускается.
17:38:51: Запускается: «C:\QtSDK\mingw\bin\mingw32-make.exe»
C:/QtSDK/mingw/bin/mingw32-make.exe -f Makefile.Debug
mingw32-make.exe[1]: Entering directory `D:/TEMP/qwt-6.1.0/examples/project/new1-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK_________'
c:\QtSDK\Desktop\Qt\4.8.0\mingw\bin\uic.exe ..\new1\mainwindow.ui -o ui_mainwindow.h
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\QtGui" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include" -I"c:\Qwt-6.1.0\include" -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\include\ActiveQt" -I"debug" -I"." -I"..\new1" -I"." -I"c:\QtSDK\Desktop\Qt\4.8.0\mingw\mkspecs\win32-g++" -o debug\mainwindow.o ..\new1\mainwindow.cpp
g++ -mthreads -Wl,-subsystem,windows -o debug\new1.exe debug/main.o debug/mainwindow.o debug/moc_mainwindow.o -L"c:\QtSDK\Desktop\Qt\4.8.0\mingw\lib" -lmingw32 -lqtmaind -L C:\Qwt-6.1.0\lib -lQtGuid4 -lQtCored4
mingw32-make.exe[1]: Leaving directory `D:/TEMP/qwt-6.1.0/examples/project/new1-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK_________'
debug/mainwindow.o:D:\TEMP\qwt-6.1.0\examples\project\new1-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK_________/./ui_mainwindow.h:41: undefined reference to `QwtPlot::QwtPlot(QWidget*)'
collect2: ld returned 1 exit status
mingw32-make.exe[1]: *** [debug\new1.exe] Error 1
mingw32-make.exe: *** [debug] Error 2
17:38:53: Процесс «C:\QtSDK\mingw\bin\mingw32-make.exe» завершился с кодом 2.
Возникла ошибка при сборке проекта new1 (цель: Desktop)
Во время выполнения сборки на этапе «Сборка»


Название: Re: QWT
Отправлено: alex312 от Октябрь 23, 2013, 17:07
Мне кажется, что у тебя лишний пробел в строке  LIBS += -L "C:\ qwt-6.0.1\lib", между -L и "C:\ qwt-6.0.1\lib" .
По моему там надо без пробела.


Название: Re: QWT
Отправлено: max-gambit от Октябрь 24, 2013, 09:04
Убрал пробел, но изменений вообще никаких(((


Название: Re: QWT
Отправлено: m_ax от Октябрь 24, 2013, 09:33
QWT_LIB = C:\ qwt-6.0.1\lib

LIBS += -L$$QWT_LIB -lqwt-6

или как там у вас там она называется.. (я про то, что жирным выделено)


Название: Re: QWT
Отправлено: alex312 от Октябрь 24, 2013, 10:37
Скачал qwt 6.1.0
LIBS += -L "C:\ qwt-6.0.1\lib"

(прищюрился) Что то здесь не то.


Название: Re: QWT
Отправлено: max-gambit от Октябрь 24, 2013, 13:01
Прописал так:
QWT_LIB = C:\Qwt-6.1.0\lib
LIBS += -L$$QWT_LIB -lqwt-6.1.0
INCLUDEPATH += $$quote(C:\Qwt-6.1.0\include)


предыдущие ошибки вылетать прекратили, проект запускается, однако выдает такую штуку:
Запускается D:\TEMP\qwt-6.1.0\examples\project\new1-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK_________\debug\new1.exe...
Invalid parameter passed to C runtime function.
Invalid parameter passed to C runtime function.
QWidget: Must construct a QApplication before a QPaintDevice
D:\TEMP\qwt-6.1.0\examples\project\new1-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK_________\debug\new1.exe завершился с кодом 3


лог:
12:06:28: Выполняется сборка проекта new1...
12:06:28: Настройки не изменились, этап qmake пропускается.
12:06:28: Запускается: «C:\QtSDK\mingw\bin\mingw32-make.exe»
C:/QtSDK/mingw/bin/mingw32-make.exe -f Makefile.Debug
mingw32-make.exe[1]: Entering directory `D:/TEMP/qwt-6.1.0/examples/project/new1-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK_________'
mingw32-make.exe[1]: Nothing to be done for `first'.
mingw32-make.exe[1]: Leaving directory `D:/TEMP/qwt-6.1.0/examples/project/new1-build-desktop-Qt_4_8_0_for_Desktop_-_MinGW__Qt_SDK_________'
12:06:28: Процесс «C:\QtSDK\mingw\bin\mingw32-make.exe» завершился нормально.

На всякий случай прикладываю архивчик с проектом.

Вопрос: в чем сейчас проблема? какой такой некорректный параметр передан при выполнении функции?


Название: Re: QWT
Отправлено: alex312 от Октябрь 24, 2013, 13:14
max-gambit , ты это, разберись сам на своем компе, что у тебя установлено и что чем и как ты собираешь.
А то у тебя qwt и 6.0.1 и 6.1.0 . В первом посте ты писал что у тебя Qt4.6.x, а похоже что есть и Qt4.8 . 
Короче, наведи порядок  :o


Название: Re: QWT
Отправлено: alex312 от Октябрь 24, 2013, 13:25
попробуй так плдключать qwt :
Код:

QWT_LIB = C:/Qwt-6.1.0/lib
LIBS += -L$$QWT_LIB
CONFIG(debug, debug|release){
LIBS        += -lqwtd
}
else {
LIBS        += -lqwt
}


Название: Re: QWT
Отправлено: max-gambit от Октябрь 29, 2013, 08:39
Alex312, имено так, как ты подсказал в поледний раз, такая штука: исправляю старый вариант - все работает и создает график, если потом в mainwindow.ui меняешь размер виджета - начинает выдавать ошибки в ui_mainwindow.h
В итоге сделал так:
QWT_LIB = C:/Qwt-6.1.0/lib
LIBS += -L$$QWT_LIB
INCLUDEPATH += $$quote(C:\Qwt-6.1.0\include)
CONFIG(debug, debug|release){
LIBS        += -lqwtd
}
else {
LIBS        += -lqwt
}

Вот таким образом пока что все работает, ТТТ . Спасибо больше


Название: Re: QWT
Отправлено: hamster28 от Октябрь 29, 2013, 09:41
Товарищи, подскажите!
похожие проблеммы, но не на винде, а под линукс.

попробовал сделать так, как указано выше
Код:
QWT_LIB = \usr\lib64
LIBS += -L$$QWT_LIB
INCLUDEPATH += $$quote(\usr\include\qwt)

CONFIG(debug, debug|release){
LIBS += -lqwtd}
else{
LIBS += -lqwt}

но у меня нет libqwtd, только libqwt и все они .so
а если пытаться подключить без qwtd, то выдает при многих изменениях постоянное
Цитировать
........
7f045f1fb000-7f045f7d6000 r-xp 00000000 fd:02 8265217                    /home/igor/Qt/5.1.1/gcc_64/lib/libQt5Widgets.so.5.1.1
7f045f7d6000-7f045f9d6000 ---p 005db000 fd:02 8265217                    /home/igor/Qt/5.1.1/gcc_64/lib/libQt5Widgets.so.5.1.1
7f045f9d6000-7f045fa00000 r--p 005db000 fd:02 8265217                    /home/igor/Qt/5.1.1/gcc_64/lib/libQt5Widgets.so.5.1.1
7f045fa00000-7f045fa1f000 rw-p 00605000 fd:02 8265217                    /home/igor/Qt/5.1.1/gcc_64/lib/libQt5Widgets.so.5.1.1
7f045fa1f000-7f045fa21000 rw-p 00000000 00:00 0
7f045fa21000-7f045fb02000 r-xp 00000000 fd:01 529440                     /usr/lib64/libqwt.so.6.0.1
7f045fb02000-7f045fd01000 ---p 000e1000 fd:01 529440                     /usr/lib64/libqwt.so.6.0.1
7f045fd01000-7f045fd09000 r--p 000e0000 fd:01 529440                     /usr/lib64/libqwt.so.6.0.1
7f045fd09000-7f045fd0c000 rw-p 000e8000 fd:01 529440                     /usr/lib64/libqwt.so.6.0.1
7f045fd0c000-7f045fd0d000 rw-p 00000000 00:00 0
7f045fd22000-7f045fd24000 rw-p 00000000 00:00 0
7fff988de000-7fff988ff000 rw-p 00000000 00:00 0                          [stack]
7fff989fe000-7fff98a00000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
и мне вообще не понятно, на что он ругается... что-то не так указано? или чего-то не хватает?


Название: Re: QWT
Отправлено: alex312 от Октябрь 29, 2013, 09:49
Товарищи, подскажите!
http://www.prog.org.ru/index.php?topic=25851.msg185126#msg185126


Название: Re: QWT
Отправлено: max-gambit от Ноябрь 01, 2013, 13:10
Назрел такой вопрос: нужно построить график, использую метод setSamples, но у него в параметрах должны быть два QVector'а, которые в свою очередь должны иметь значения double. Мне же нужно чтобы значения точек были unsigned char,  никак не могу найти,  с помощью чего на QwtPlot можно вывести такие значения...
Преобразовывать значения uchar в double не вариант, нужно изначально с ним работать, по точкам выводить тоже не вариант.
Были мысли по поводу setData(не совсем понятно, можно ли с помощью него вывести график из значений unsigned char), но не могу разобраться с QwtSeriesData


Название: Re: QWT
Отправлено: max-gambit от Ноябрь 07, 2013, 07:59
Неужели никто не подскажет?(((


Название: Re: QWT
Отправлено: alex312 от Ноябрь 07, 2013, 14:33
Неужели никто не подскажет?(((
Что подсказать? Что деда мороза нет и unsigned char в double не превращается волшебным образом?


Название: Re: QWT
Отправлено: max-gambit от Ноябрь 14, 2013, 12:26
Плиз подскажите кто-нибудь, есть ли в Qwt какой-нибудь метод или функция, строющая линию, используя параметры типа int? Очень актуальный вопрос. Ищу в Qwt User's Guide, никак не могу найти...