Название: Сборка пакета qwt 6.1.0 Отправлено: azik от Январь 14, 2013, 18:57 Подскажите, плз) Собираю пакет qwt 6.1.0, использую библиотеки Qt5, но при сборке выдает ошибку "Unknown module(s) in QT: svg", ругается на строку проекте(в файле *.pro) , где написано Qt += svg.Хотя модуль QtSvg собран заранее.Куда копать?
Название: Re: Сборка пакета qwt 6.1.0 Отправлено: azik от Январь 18, 2013, 21:41 qwt_graphic.cpp: In member function 'void QwtGraphic::setDefaultSize(const QSizeF&)':
qwt_graphic.cpp:518:46: error: no matching function for call to 'qMax(double, qreal)' qwt_graphic.cpp:518:46: note: candidate is: /usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/QtCore/qglobal.h:510:34: note: template<class T> const T& qMax(const T&, const T&) qwt_graphic.cpp:519:47: error: no matching function for call to 'qMax(double, qreal)' qwt_graphic.cpp:519:47: note: candidate is: /host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/QtCore/qglobal.h:510:34: note: template<class T> const T& qMax(const T&, const T&) make[1]: *** [obj/qwt_graphic.o] Error void QwtGraphic::setDefaultSize( const QSizeF &size ) { const double w = qMax( 0.0, size.width() ); const double h = qMax( 0.0, size.height() ); d_data->defaultSize = QSizeF( w, h ); } Может у кого-то есть решение? Название: Re: Сборка пакета qwt 6.1.0 Отправлено: alex312 от Январь 19, 2013, 20:35 Советую взять версию из транка посвежее, там решили проблему qMax.
Название: Re: Сборка пакета qwt 6.1.0 Отправлено: Old от Январь 19, 2013, 20:41 Код
Название: Re: Сборка пакета qwt 6.1.0 Отправлено: azik от Январь 20, 2013, 08:51 Привет!
Спасибо Old-у.Сейчас в qwt собираются демки и вроде либы(есть libqwt.so,libqwt.so.6.,libqwt.so.6.1,libqwt.so.6.1.0), однако возникает ошибка в файле playground. linking ../bin/graphicscale obj/canvas.o: In function `Canvas::Canvas(Canvas::Mode, QWidget*)': make[2]: Leaving directory `/Code/qwt-6.1.0-rc1/playground/graphicscale' make[1]: Leaving directory `/Code/qwt-6.1.0-rc1/playground' make: Leaving directory `/Code/qwt-6.1.0-rc1' canvas.cpp:(.text+0x110): undefined reference to `QSvgRenderer::QSvgRenderer(QObject*)' obj/canvas.o: In function `Canvas::setSvg(QByteArray const&)': canvas.cpp:(.text+0x178): undefined reference to `QSvgRenderer::load(QByteArray const&)' canvas.cpp:(.text+0x198): undefined reference to `QSvgRenderer::QSvgRenderer(QObject*)' canvas.cpp:(.text+0x1a4): undefined reference to `QSvgRenderer::load(QByteArray const&)' canvas.cpp:(.text+0x1b8): undefined reference to `QSvgRenderer::viewBoxF() const' canvas.cpp:(.text+0x1e4): undefined reference to `QSvgRenderer::render(QPainter*, QRectF const&)' canvas.cpp:(.text+0x1fc): undefined reference to `QSvgRenderer::~QSvgRenderer()' canvas.cpp:(.text+0x208): undefined reference to `QSvgRenderer::~QSvgRenderer()' obj/canvas.o: In function `Canvas::render(QPainter*, QRect const&) const': canvas.cpp:(.text+0x284): undefined reference to `QSvgRenderer::render(QPainter*, QRectF const&)' obj/mainwindow.o: In function `MainWindow::loadPath(QPainterPath const&)': mainwindow.cpp:(.text+0x848): undefined reference to `QSvgGenerator::QSvgGenerator()' mainwindow.cpp:(.text+0x854): undefined reference to `QSvgGenerator::setOutputDevice(QIODevice*)' mainwindow.cpp:(.text+0x934): undefined reference to `QSvgGenerator::~QSvgGenerator()' mainwindow.cpp:(.text+0x968): undefined reference to `QSvgGenerator::~QSvgGenerator()' collect2: ld returned 1 exit status make[2]: *** [../bin/graphicscale] Error 1 make[1]: *** [sub-graphicscale-make_first] Error 2 make: *** [sub-playground-make_first-ordered] Error 2 09:38:45: Процесс «/usr/bin/make» завершился с кодом 2. Ошибка при сборке/установке проекта qwt Во время выполнения этапа «Сборка» Код:
Название: Re: Сборка пакета qwt 6.1.0 Отправлено: Old от Январь 20, 2013, 09:07 Код: ... Ты просто хедер включил? Нужно в pro файле проекта к переменной QT добавить svg: QT += svg Тогда линкер найдет недостающую библиотеку. Название: Re: Сборка пакета qwt 6.1.0 Отправлено: azik от Январь 20, 2013, 09:27 Включил, пишет: Project ERROR: Unknown module(s) in QT: svg
Модуль QtSvg был собран отдельно от buildroot и находится отдельной папке,вроде и добавил переменную окружения, но все равно не видит.Может модуль svg добавлен не правильно? Название: Re: Сборка пакета qwt 6.1.0 Отправлено: Old от Январь 20, 2013, 10:05 Включил, пишет: Project ERROR: Unknown module(s) in QT: svg Тогда qmake про этот модуль ничего не знает и вряд-ли сможет его подключать. Добавляй саму библиотеку через LIBS += ... Модуль QtSvg был собран отдельно от buildroot и находится отдельной папке,вроде и добавил переменную окружения, но все равно не видит.Может модуль svg добавлен не правильно? Название: Re: Сборка пакета qwt 6.1.0 Отправлено: azik от Январь 20, 2013, 13:52 Собрал))Спасибо Old.
Помогло: Код: LIBS += -L/Code/qtsvg-opensource-src-5.0.0/lib -lQt5Svg Были нюансы при сборке, но я думаю это пока не критично для моего проекта. Название: Re: Сборка пакета qwt 6.1.0 Отправлено: azik от Январь 20, 2013, 18:39 Пробую запускать демки на целевой машине, как и ожидалось, программа ищет либы. Те самые libqwt, пробую просто копировать их с ПК на целевую,программа не запускается, пишет типо ... symbol ... .как то так.Куда копать?(Демки собраны для целевой машине)
Название: Re: Сборка пакета qwt 6.1.0 Отправлено: Old от Январь 20, 2013, 18:52 Пробую запускать демки на целевой машине, как и ожидалось, программа ищет либы. Те самые libqwt, пробую просто копировать их с ПК на целевую,программа не запускается, пишет типо ... symbol ... .как то так.Куда копать?(Демки собраны для целевой машине) man ld.soВ linux загрузчик ищет библиотеки в специальных директориях, а не рядом с исполняемым файлом. Либо клади либы на целевой машине куда следует, либо использую LD_LIBRARY_PATH. В документации все расписано. Название: Re: Сборка пакета qwt 6.1.0 Отправлено: azik от Январь 20, 2013, 19:14 Либы копировал в папку /usr/lib, там у меня все остальные либы. Может ошибка в правах доступа.
|