Difference between revisions of "RK ALL Qt Toolchain"
Yunjin.jiang (talk | contribs) |
Yunjin.jiang (talk | contribs) |
||
Line 46: | Line 46: | ||
== Installing cross toolchain == | == Installing cross toolchain == | ||
− | Please download [https://pan.baidu.com/s/1JnXJ_X_HRDWoB14VBIq9fA RK3288](Password: gm9i) | + | Please download cross compiler toolchain first. |
+ | |||
+ | [https://pan.baidu.com/s/1JnXJ_X_HRDWoB14VBIq9fA RK3288](Password: gm9i) | ||
+ | |||
+ | [https://pan.baidu.com/s/1OEzbJsgBSo3n5DdwRY2Rag RK3399](Password: 0kkn) | ||
+ | |||
+ | [https://pan.baidu.com/s/17hCuIcORYDPOSAqVoyPPrg RK3568](Password: a887) | ||
+ | |||
+ | [https://pan.baidu.com/s/17hCuIcORYDPOSAqVoyPPrg RK3568](Password: a887) | ||
+ | |||
+ | Then execute the following command to unzip the cross compiler tool to the /opt directory | ||
For RK3288 | For RK3288 | ||
Line 64: | Line 74: | ||
$ sudo mkdir -p /opt/toolchain_Qt_V5.11.3/rk3568/ | $ sudo mkdir -p /opt/toolchain_Qt_V5.11.3/rk3568/ | ||
$ sudo tar -zxf rk3568_toolchain_Qt_V5.11.3_*.tar.gz -C /opt/toolchain_Qt_V5.11.3/rk3568/</pre> | $ sudo tar -zxf rk3568_toolchain_Qt_V5.11.3_*.tar.gz -C /opt/toolchain_Qt_V5.11.3/rk3568/</pre> | ||
+ | |||
+ | For RK3588 | ||
+ | <pre>$ sudo rm -rf /opt/toolchain_Qt_V5.15.2/rk3588/ | ||
+ | $ sudo mkdir -p /opt/toolchain_Qt_V5.15.2/rk3588/ | ||
+ | $ sudo tar -zxf rk3588_toolchain_Qt_V5.15.2_*.tar.gz -C /opt/toolchain_Qt_V5.15.2/rk3588/</pre> | ||
= Working within QtCreator = | = Working within QtCreator = |
Revision as of 05:42, 13 September 2023
Preface
Qt has many versions, and may run on defferent OSs.But the toolchain we provide can fit them well.
It has the following advantages:
- The compilation environment is consistent with runtime environment.
- Good compatibility.
- Good extensibility.
So the application compiled by the toolchain can run perfectly on our products. And the toolchain can be used on Debian or Ubuntu Desktop Operating System well.
If you meet any problems, please do not hesitate to contact Advantech for help.
Prerequisites
Debian10(buster) is highly recommended OS to develop.
Installing required packages
Please login and perform the following commands:
$ sudo apt-get install -y build-essential $ sudo apt-get install -y qtcreator $ sudo apt-get install -y qt5-default $ sudo apt-get install -y qt5-doc $ sudo apt-get install -y qt5-doc-html qtbase5-doc-html $ sudo apt-get install -y qtbase5-examples $ sudo apt-get install -y qt5-qmake $ sudo apt-get install -y rsync $ sudo apt-get install -y gcc-8-arm-linux-gnueabihf g++-8-arm-linux-gnueabihf $ sudo apt-get install -y gcc-8-aarch64-linux-gnu g++-8-aarch64-linux-gnu
Link arm-linux-gnu*-8 to arm-linux-gnu* and aarch64-linux-gnu*-8 to aarch64-linux-gnu*:
$ sudo su $ cd /usr/bin $ for f in $(ls arm-linux-gnu*-8);do ln -sf $f $(echo $f|sed "s/-8//");done $ for f in $(ls aarch64-linux-gnu*-8);do ln -sf $f $(echo $f|sed "s/-8//");done $ exit
Installing cross toolchain
Please download cross compiler toolchain first.
RK3288(Password: gm9i)
RK3399(Password: 0kkn)
RK3568(Password: a887)
RK3568(Password: a887)
Then execute the following command to unzip the cross compiler tool to the /opt directory
For RK3288
$ sudo rm -rf /opt/toolchain_Qt_V5.11.3/rk3288/ $ sudo mkdir -p /opt/toolchain_Qt_V5.11.3/rk3288/ $ sudo tar -zxf rk3288_toolchain_Qt_V5.11.3_*.tar.gz -C /opt/toolchain_Qt_V5.11.3/rk3288/
For RK3399
$ sudo rm -rf /opt/toolchain_Qt_V5.11.3/rk3399/ $ sudo mkdir -p /opt/toolchain_Qt_V5.11.3/rk3399/ $ sudo tar -zxvf rk3399_toolchain_Qt_V5.11.3_*.tar.gz -C /opt/toolchain_Qt_V5.11.3/rk3399/
For RK3568
$ sudo rm -rf /opt/toolchain_Qt_V5.11.3/rk3568/ $ sudo mkdir -p /opt/toolchain_Qt_V5.11.3/rk3568/ $ sudo tar -zxf rk3568_toolchain_Qt_V5.11.3_*.tar.gz -C /opt/toolchain_Qt_V5.11.3/rk3568/
For RK3588
$ sudo rm -rf /opt/toolchain_Qt_V5.15.2/rk3588/ $ sudo mkdir -p /opt/toolchain_Qt_V5.15.2/rk3588/ $ sudo tar -zxf rk3588_toolchain_Qt_V5.15.2_*.tar.gz -C /opt/toolchain_Qt_V5.15.2/rk3588/
Working within QtCreator
Use qtcreator to configure a complete build kit.
RK3568 & RK3399 & RK3288
Config QtCreator ---- Qt Versions
1. Select Tools --> options -->
2. Select Qt versions --> Manual -->Add -->
Path:/opt/toolchain_Qt_V5.11.3/RK3568 or RK3399 or RK3288/sysroot/qmake
Config QtCreator ---- Qt Complers
1. Select compilers -->
2. Because Gcc and G++ has been installed earlier, the compiler will generally detect it automatically.
If no Auto-detected, just Add it.
Path forRK3568 (64):/usr/bin/arrch64-linux-gnu-gcc
/usr/bin/aarch64-linux-gnu-g++
Path forRK3399 (64):/usr/bin/aarch64-linux-gnu-gcc
/usr/bin/aarch64-linux-gnu-g++
Path forRK3288(32):/usr/bin/arm-linux-gnueabihf-gcc
/usr/bin/arm-linux-gnueabihf-g++
The following figure uses rk3568 as an example :
Config QtCreator ---- Qt Debuggers
1. Select Debuggers -->
2. The Debuggers selection system buildin,If no Auto-detected , just Add it:
Path: /usr/bin/gdb
Config QtCreator ---- Qt Cmakes
1. Select Cmake -->
2. Similarly,Cmake also uses the system Cmake , if no Auto-detected , just Add it :
Path: /usr/bin/Cmake
Config QtCreator ---- Qt kits
1. Select Kits
2. Configure "Qt version"、"Compilers"、"Debuggers" and "Cmake" configurations in Kits.
The picture below uses rk3568 as an example:
Creating the Project
- Bring up "New" dailog using "File" -> "New File or Project..."
- Select "Applications" -> 'Qt Widgets Application"
- Click "Choose..."
- Use "Hello" as name
- Create in "/mnt/sda1/work/qt/qt_PJ"
- Click "Next"
- Check "RK toolchain"
- Click "Next".
- Use default settings for "Class Information"
- Click "Next"
- Use default settings for "Project Management"
- Click "Finish"
- Double click "Hello.pro" to switch to editor window
- In new project it is necessary to add following two lines into qt project file.
- Press "Ctrl+S" to save file.
- Double click "mainwindow.ui" to switch to Design mode
- Drag & drop one Label widget on main form, use property editor on the right side to change text and font size
- Save all project files using "File" -> "Save All"
Building the Project
- Switch to "Projects" mode
- Check if "build configuration" is set to "Debug".
- Check if "Files to deploy" is correct
- Set environment variable DISPLAY in QtCreator -> Projects -> Run -> Run Environment. The value of DISPLAY is obtained from the rk3399. For example, execute instruction echo $DISPLAY on RK3399.
- Switch to "Edit" mode
- Click "Build" using context menu of project "Hello"
- The green "Build" bar means no error occured.
- Press "Alt+4" to show "Compile Output".
Deploying the Application
- Click "Deploy" using context menu of project Hello
- The green "Deploy" bar indicates no error occured.