Как сделать кросс-компиляцию qt для встроенного linux в версии QT Creator Open Source - PullRequest
2 голосов
/ 22 апреля 2019

Я хочу сделать кросс-компиляцию моего приложения QT для встроенной платформы Toradex linux. Коммерческая версия QT Creator поставляется со встроенным компилятором для встроенного Linux, но с открытым исходным кодом - нет.

Итак, есть ли способ скомпилировать и запустить его на встроенном Linux.

1 Ответ

0 голосов
/ 23 апреля 2019
After some research, I finally get a way to do it. Here are the steps:

1. Download QT Creator and Install

2. Download QT Everywhere
https://download.qt.io/archive/qt/5.8/5.8.0/single/qt-everywhere-opensource-src-5.8.0.tar.gz.mirrorlist

3. Extract It

4. Change path to path/to/qt-everywhere

5. Configure qt-everywhere

    ./configure -release -device linux-imx7-g++ -device-option CROSS_COMPILE=/usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi- -sysroot /usr/local/oecore-x86_64/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi -skip qtwebengine -skip qtwebkit -skip qtwebkit-examples -prefix /usr/local/qt5-imx

(QT will save on the location listed in prefix, i.e here /usr/local/qt5-imx)

6. Open QT Creator

7. Goto Tools->Options, Add Compiler
-> Add GCC Compiler, add path /usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-g++

8. Add QT Version:
path: /usr/local/oecore-x86_64/sysroots/armv7at2hf-neon-angstrom-linux-gnueabi/usr/local/qt5-imx/bin/qmake

9. Add Debugger :
path: /usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-gdb

10. Add Kit
-> Select Generic Linux Device:
-> Specify GCC compiler and debugger path, which is created above
-> Add Sysroot location: /usr/local/oecore-x86_64/sysroots
-> Add QT Version: select qt version, created above
-> Apply and Close
...