2017-01-26 14 views
1

Я перекрестно скомпилировал Qt5 в своем рабочем столе Ubuntu для встроенного Debian в соответствии с http://www.eliasing.com/cubieboard2/qt5-cb2 с помощью gch-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf toolchain. Затем я сконфигурировал создателя Qt и скомпилировал свое приложение на Ubuntu Desktop. Я установил удаленное устройство в создателе Qt и развернул приложение на устройстве. Поэтому я мог запускать свое приложение на устройстве (встроенный Debian). Теперь я хочу добавить библиотеку Qwt в свой проект. Согласно веб-сайте QWT, я скачал QWT исходные файлы, CD в папку источников, а затем запустить следующие команды:Компиляция Qwt для проблем с встроенным Debian Linux

-qmake qwt.pro 

-make -j 4 

-sudo make install 

Выполнение этих команд установлены QWT на моем рабочем столе Ubuntu. Но я должен установить его на устройство (мне нужно перекрестно скомпилировать его). На этапе перекрестного компиляции Qt я устанавливаю параметр -prefix в /opt/qt/qt5.4-A110. Таким образом, для первого шага в QWT кросс-компиляции я сильфона команду:

/opt/qt/qt5.4-A110/bin/qmake qwt.pro 

Затем, когда я бегу сделать команду, я получил сильфонные ошибки:

Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See https://bugs.linaro.org for instructions. Makefile:8096: recipe for target 'obj/qwt_plot_curve.o' failed make[1]: * [obj/qwt_plot_curve.o] Error 1 make[1]: Leaving directory '/home/amvaj/Projects/A110/OS/ClosedHeart/qt/sources/qwt-6.1.3/src' Makefile:45: recipe for target 'sub-src-make_first-ordered' failed make: * [sub-src-make_first-ordered] Error 2

Так я думал, что я должен был установить арку и параметры CROSS_COMPILE , Поэтому я очистил источники, а затем использовал команду ниже:

make ARCH=arm CROSS_COMPILER=/home/ali/toolchain/bin/arm-linux-gnueabihf- 

Но у меня были те же ошибки. Что мне делать? Благодарю.

ответ

0

Я мог бы скомпилировать Qwt в целом. В qwtconfig.pri Я прокомментировал (QWT_CONFIG += QwtPlot) и (QWT_CONFIG += QwtDesigner), а также изменил QWT_INSTALL_PREFIX на адрес устройства rootfs. На самом деле у меня была резервная копия .img с моей загрузочной SD-карты и смонтирована на /media/root. Поэтому я QWT_INSTALL_PREFIX, как показано ниже:

/media/root/usr/local/qwt-$$QWT_VERSION 

Тогда я использовал свою цель qmake, как показано ниже:

/media/root/home/qt5/bin/qmake qwt.pro 

После этой инструкции я использовал make, а затем sudo make install instaructions и каждый тонкий прошло хорошо! сейчас я хочу добавить QwtPlot, поэтому я раскомментирую его в qwtconfig.pri и снова обработаю процесс. Но ниже я даю ошибку:

Makefile:7804: recipe for target 'obj/qwt_plot_curve.o' failed make[1]: *** [obj/qwt_plot_curve.o] Error 1

QwtPlot нуждается в какой-либо библиотеке или имеет какую-либо зависимость?

0

Я нашел решение! У моей инструментальной линзы (Linaro 4.9) была внутренняя ошибка, и когда я добавлял QwtPlot, она рушилась! Так что решение было очень простым. Я меняю свою инструментальную цепочку и понижаю ее до Linaro 4.8

+0

для кросс-компиляции мы также можем использовать QtCreator. как и любое приложение, мы должны настроить наш комплект кросс-компиляторов, а затем открыть qwt.pro и скомпилировать проект! –