Reputation: 497
I want to cross compile my QT Application to Toradex embedded linux platform. The QT Creator Commercial version comes with in-built compiler for embedded linux but open source doesn't.
So, is there any way to compile and run it on embedded linux.
Upvotes: 5
Views: 2506
Reputation: 497
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
Upvotes: 4