Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > проблема с использованием библиотеки qtw


Автор: htzg 28.8.2013, 10:24
Добрый день!
Хочу использовать библиотеку qwt (для рисования графиков). 
При сборки приложения компилятор не находит такие файлы:
qarray.h
qmemarray.h
qscrollview.h
и другие...
Как я понял это файлы из старых версии Qt: 2.x и 3.x. У меня Qt 4.7.4. Этих файлов нет (искал хорошо).
На сайте Qt не нашел их...
Подскажите где взять эти файлы?
Спасибо! 

Автор: bsa 28.8.2013, 10:31
htzg, что за версию Qwt ты пытаешься использовать? последняя 6.1. Судя по всему, должна работать с Qt 4.x:
http://qwt.sourceforge.net/qwtinstall.html

Автор: htzg 28.8.2013, 10:42
Цитата(bsa @ 28.8.2013,  10:31)
htzg, что за версию Qwt ты пытаешься использовать? последняя 6.1. Судя по всему, должна работать с Qt 4.x:
http://qwt.sourceforge.net/qwtinstall.html

Спасибо!
Повелся на "Looking for the latest version? Download qwt-4.2.0-setup-qt230nc.exe (2.4 MB)"  smile 

Автор: htzg 28.8.2013, 13:43
Подскажите как устранить эту ошибку...
Не получается подключить библиотеку...

Код

#include <QtGui/QApplication>
#include "mainwindow.h"


#include "C:\qwt-6.1.0\src\qwt_plot.h"
#include "C:\qwt-6.1.0\src\qwt_plot_curve.h"
#include "C:\qwt-6.1.0\src\qwt_text.h"
#include "aseriesdata.h"


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QwtText tytle("Two Curves");
    QwtPlot *myPlot = new QwtPlot(tytle,0);

    // add curves
    QwtPlotCurve *curve1 = new QwtPlotCurve("Curve 1");
    QwtPlotCurve *curve2 = new QwtPlotCurve("Curve 2");

    // connect or copy the data to the curves

    ASeriesData sd1(1), sd2(2);

    curve1->setData(&sd1);
    curve2->setData(&sd2);

    curve1->attach(myPlot);
    curve2->attach(myPlot);

    // finally, refresh the plot
    myPlot->replot();

    myPlot->show();
    
    return a.exec();
}




14:31:55: Выполняется сборка проекта plotTesting...
14:31:55: Настройки не изменились, этап qmake пропускается.
14:31:55: Запускается: «C:\QtSDK\mingw\bin\mingw32-make.exe» 
C:/QtSDK/mingw/bin/mingw32-make.exe -f Makefile.Debug
mingw32-make.exe[1]: Entering directory `D:/my/Programming/qt/plotTesting-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________'
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.1\mingw\include\QtCore" -I"c:\QtSDK\Desktop\Qt\4.8.1\mingw\include\QtGui" -I"c:\QtSDK\Desktop\Qt\4.8.1\mingw\include" -I"c:\QtSDK\Desktop\Qt\4.8.1\mingw\include\ActiveQt" -I"debug" -I"." -I"..\plotTesting" -I"." -I"c:\QtSDK\Desktop\Qt\4.8.1\mingw\mkspecs\win32-g++" -o debug\main.o ..\plotTesting\main.cpp
g++ -mthreads -Wl,-subsystem,windows -o debug\plotTesting.exe debug/main.o debug/mainwindow.o debug/aseriesdata.o debug/moc_mainwindow.o  -L"c:\QtSDK\Desktop\Qt\4.8.1\mingw\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4 
mingw32-make.exe[1]: Leaving directory `D:/my/Programming/qt/plotTesting-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________'
debug/main.o: In function `Z5qMainiPPc':
D:\my\Programming\qt\plotTesting-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________/../plotTesting/main.cpp:19: undefined reference to `QwtText::QwtText(QString const&, QwtText::TextFormat)'
D:\my\Programming\qt\plotTesting-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________/../plotTesting/main.cpp:20: undefined reference to `QwtPlot::QwtPlot(QwtText const&, QWidget*)'
D:\my\Programming\qt\plotTesting-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________/../plotTesting/main.cpp:23: undefined reference to `QwtPlotCurve::QwtPlotCurve(QString const&)'
D:\my\Programming\qt\plotTesting-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________/../plotTesting/main.cpp:24: undefined reference to `QwtPlotCurve::QwtPlotCurve(QString const&)'
D:\my\Programming\qt\plotTesting-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________/../plotTesting/main.cpp:33: undefined reference to `QwtPlotItem::attach(QwtPlot*)'
D:\my\Programming\qt\plotTesting-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________/../plotTesting/main.cpp:34: undefined reference to `QwtPlotItem::attach(QwtPlot*)'
D:\my\Programming\qt\plotTesting-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________/../plotTesting/main.cpp:41: undefined reference to `QwtText::~QwtText()'
D:\my\Programming\qt\plotTesting-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK_________/../plotTesting/main.cpp:41: undefined reference to `QwtText::~QwtText()'
collect2: ld returned 1 exit status
mingw32-make.exe[1]: *** [debug\plotTesting.exe] Error 1
mingw32-make.exe: *** [debug] Error 2
14:31:56: Процесс «C:\QtSDK\mingw\bin\mingw32-make.exe» завершился с кодом 2.
Возникла ошибка при сборке проекта plotTesting (цель: Desktop)
Во время выполнения сборки на этапе «Сборка»

Автор: bsa 28.8.2013, 18:17
htzg, в pro файл пропиши библиотеку.

Автор: htzg 29.8.2013, 08:59
помогло это http://microtechnics.ru/qt-ustanovka-biblioteki-qwt/
Библиотека установилась, приложение компилируется, но при его запуске вылетает ошибка "Runtime error!".
Разбираюсь пока...

Добавлено через 9 минут и 7 секунд
заработало! Но только в режиме Release. 
Скажите, можно так настроить что бы в режиме debug тоже работало?
Спасибо! 

Автор: bsa 29.8.2013, 17:49
htzg, скомпилируй библиотеку в режиме дебаг, а дальше делай аналогично релизу.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)