Difference between revisions of "Qt5Creator toolchain Qt 5.11.3"
From ESS-WIKI
Line 41: | Line 41: | ||
$ sudo tar -zxvf rk3399_toolchain_Qt_V5.11.3_*.tar.gz -C /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/ | ||
</pre> | </pre> | ||
+ | |||
= Working within QtCreator = | = Working within QtCreator = | ||
− | + | Use qtcreator to configure a complete build kit. | |
− | |||
− | |||
== Config QtCreator ---- Qt Versions == | == Config QtCreator ---- Qt Versions == | ||
− | #Bring up the options dialog using "Tools" -> "Options..." | + | #Bring up the options dialog using "Tools" -> "Options..." |
− | #Select the "Build & Run" page on the left, switch to "Qt Versions" tab, and click "Add..." | + | #Select the "Build & Run" page on the left, switch to "Qt Versions" tab, and click "Add..." |
− | #Select qmake file | + | #Select qmake file |
− | #;Select "/opt/toolchain_Qt_V5.11.3/rk3288/sysroot/qmake-debian-buster-armhf". | + | #;Select "/opt/toolchain_Qt_V5.11.3/rk3288/sysroot/qmake-debian-buster-armhf". |
− | #;or | + | #;or |
− | #;RK3399 Select "/opt/toolchain_Qt_V5.11.3/rk3399/sysroot/qmake". | + | #;RK3399 Select "/opt/toolchain_Qt_V5.11.3/rk3399/sysroot/qmake". |
− | #;or RK3399 Select "/opt/toolchain_Qt_V5.11.3/rk3399/sysroot/qmake-debian-buster-armhf " | + | #;or RK3399 Select "/opt/toolchain_Qt_V5.11.3/rk3399/sysroot/qmake-debian-buster-armhf " |
− | #Input Version name "Qt 5.11.3 (RK3288 )" or "Qt 5.11.3 (RK3399 )". | + | #Input Version name "Qt 5.11.3 (RK3288 )" or "Qt 5.11.3 (RK3399 )". |
[[File:RK3288 Add Qt Verions.png|RTENOTITLE]] | [[File:RK3288 Add Qt Verions.png|RTENOTITLE]] | ||
Line 63: | Line 62: | ||
== Config QtCreator ---- Kits == | == Config QtCreator ---- Kits == | ||
− | #Bring up the options dialog using "Tools" -> "Options..." | + | #Bring up the options dialog using "Tools" -> "Options..." |
− | #Select the "Build & Run" page on the left, switch to "Kits" tab, and click "Add..." | + | #Select the "Build & Run" page on the left, switch to "Kits" tab, and click "Add..." |
− | #Click "Add". | + | #Click "Add". |
− | ;<span style="color:#FF0000;">'''RK3288'''</span> | + | ;<span style="color:#FF0000;">'''RK3288'''</span> |
− | ;Name | + | ;Name |
− | :input "RK3288 toolchain" | + | :input "RK3288 toolchain" |
− | ;Device Tpye | + | ;Device Tpye |
− | :Select "Generic Linux Device" | + | :Select "Generic Linux Device" |
− | ;Device | + | ;Device |
− | :Select "RK3288" | + | :Select "RK3288" |
− | ;Compiler | + | ;Compiler |
− | :Select "GCC (C,arm <span style="color:#FF0000;">32</span>bit in /usr/bin)" and "GCC (C++,arm <span style="color:#FF0000;">32</span>bit in /usr/bin)" | + | :Select "GCC (C,arm <span style="color:#FF0000;">32</span>bit in /usr/bin)" and "GCC (C++,arm <span style="color:#FF0000;">32</span>bit in /usr/bin)" |
− | ;Qt version | + | ;Qt version |
− | :Select "Qt 5.11.3 (RK3288)" | + | :Select "Qt 5.11.3 (RK3288)" |
− | : | + | : |
− | : | + | : |
<span style="color:#FF0000;">'''RK3399'''</span> | <span style="color:#FF0000;">'''RK3399'''</span> | ||
− | ;Name | + | ;Name |
− | :input "RK3399 toolchain" | + | :input "RK3399 toolchain" |
− | ;Device Tpye | + | ;Device Tpye |
− | :Select "Generic Linux Device" | + | :Select "Generic Linux Device" |
− | ;Device | + | ;Device |
− | :Select "RK3399" | + | :Select "RK3399" |
− | ;Compiler | + | ;Compiler |
− | :Select "GCC (C,arm <span style="color:#FF0000;">64</span>bit in /usr/bin)" and "GCC (C++,arm <span style="color:#FF0000;">64</span>bit in /usr/bin)" | + | :Select "GCC (C,arm <span style="color:#FF0000;">64</span>bit in /usr/bin)" and "GCC (C++,arm <span style="color:#FF0000;">64</span>bit in /usr/bin)" |
− | ;Qt version | + | ;Qt version |
− | :Select "Qt 5.11.3 (RK3399)" | + | :Select "Qt 5.11.3 (RK3399)" |
− | : | + | : |
− | : | + | : |
[[File:RK3288 Add Kits.png|RTENOTITLE]] | [[File:RK3288 Add Kits.png|RTENOTITLE]] | ||
Line 100: | Line 99: | ||
== Creating the Project == | == Creating the Project == | ||
− | #Bring up "New" dailog using "File" -> "New File or Project..." | + | #Bring up "New" dailog using "File" -> "New File or Project..." |
− | #Select "Applications" -> 'Qt Widgets Application" | + | #Select "Applications" -> 'Qt Widgets Application" |
− | #Click "Choose..." | + | #Click "Choose..." |
− | #;[[File:RK3399 Project 001.png|RTENOTITLE]] | + | #;[[File:RK3399 Project 001.png|RTENOTITLE]] |
− | #Use "Hello" as name | + | #Use "Hello" as name |
− | #Create in "/mnt/sda1/work/qt/qt_PJ" | + | #Create in "/mnt/sda1/work/qt/qt_PJ" |
− | #Click "Next" | + | #Click "Next" |
− | #;[[File:RK3399 Qt Project local.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt Project local.png|RTENOTITLE]] |
− | #Check "RK toolchain" | + | #Check "RK toolchain" |
− | #Click "Next". | + | #Click "Next". |
− | #;[[File:RK3399 Qt Project toolchain.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt Project toolchain.png|RTENOTITLE]] |
− | #Use default settings for "Class Information" | + | #Use default settings for "Class Information" |
− | #Click "Next" | + | #Click "Next" |
− | #;[[File:RK3399 QT Project last.png|RTENOTITLE]] | + | #;[[File:RK3399 QT Project last.png|RTENOTITLE]] |
− | #Use default settings for "Project Management" | + | #Use default settings for "Project Management" |
− | #Click "Finish" | + | #Click "Finish" |
− | #;[[File:RK3399 Qt Project last2.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt Project last2.png|RTENOTITLE]] |
− | #Double click "Hello.pro" to switch to editor window | + | #Double click "Hello.pro" to switch to editor window |
− | #In new project it is necessary to add following two lines into qt project file. | + | #In new project it is necessary to add following two lines into qt project file. |
− | #:<code>target.path = .<br/>INSTALLS += target</code> | + | #:<code>target.path = .<br/> INSTALLS += target</code> |
− | #;[[File:RK3399 Qt Project code002.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt Project code002.png|RTENOTITLE]] |
− | #Press "Ctrl+S" to save file. | + | #Press "Ctrl+S" to save file. |
− | #Double click "mainwindow.ui" to switch to Design mode | + | #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 | + | #Drag & drop one Label widget on main form, use property editor on the right side to change text and font size |
− | #;[[File:2015-01-30 174418.png|RTENOTITLE]] | + | #;[[File:2015-01-30 174418.png|RTENOTITLE]] |
− | #;[[File:RK3399 Qt Project code003.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt Project code003.png|RTENOTITLE]] |
− | #Save all project files using "File" -> "Save All" | + | #Save all project files using "File" -> "Save All" |
== Building the Project == | == Building the Project == | ||
− | #Switch to "Projects" mode | + | #Switch to "Projects" mode |
− | #Check if "build configuration" is set to "Debug". | + | #Check if "build configuration" is set to "Debug". |
− | #;[[File:RK3399 Qt debug setting.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt debug setting.png|RTENOTITLE]] |
− | #Check if "Files to deploy" is correct | + | #Check if "Files to deploy" is correct |
− | #;[[File:RK3399 Qt run setting.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt run setting.png|RTENOTITLE]] |
− | #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. | + | #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. |
− | #;[[File:RK3399 Qt ENV Display.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt ENV Display.png|RTENOTITLE]] |
− | #Switch to "Edit" mode | + | #Switch to "Edit" mode |
− | #Click "Build" using context menu of project "Hello" | + | #Click "Build" using context menu of project "Hello" |
− | #;[[File:RK3399 Qt build start.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt build start.png|RTENOTITLE]] |
− | #The green "Build" bar means no error occured. | + | #The green "Build" bar means no error occured. |
− | #;[[File:RK3399 Qt build status.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt build status.png|RTENOTITLE]] |
− | #Press "Alt+4" to show "Compile Output". [[File:RK3399 Qt build output.png|RTENOTITLE]] | + | #Press "Alt+4" to show "Compile Output". [[File:RK3399 Qt build output.png|RTENOTITLE]] |
== Deploying the Application == | == Deploying the Application == | ||
− | #Click "Deploy" using context menu of project Hello[[File:RK3399 Qt deploy start.PNG|RTENOTITLE]] | + | #Click "Deploy" using context menu of project Hello[[File:RK3399 Qt deploy start.PNG|RTENOTITLE]] |
− | #The green "Deploy" bar indicates no error occured.[[File:RK3399 Qt deploy output.png|RTENOTITLE]] | + | #The green "Deploy" bar indicates no error occured.[[File:RK3399 Qt deploy output.png|RTENOTITLE]] |
== Debugging the Application == | == Debugging the Application == | ||
− | #Click debug icon to start debugging. | + | #Click debug icon to start debugging. |
− | #;[[File:RK3399 Qt debug start.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt debug start.png|RTENOTITLE]] |
− | #Press "Alt+3" to show "Application Output"[[File:RK3399 Qt debug output.png|RTENOTITLE]] | + | #Press "Alt+3" to show "Application Output"[[File:RK3399 Qt debug output.png|RTENOTITLE]] |
− | #The "Hello" shows up on primary display. | + | #The "Hello" shows up on primary display. |
− | #;[[File:RK3399 Qt result show.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt result show.png|RTENOTITLE]] |
− | #Click "stop" to stop debugging. | + | #Click "stop" to stop debugging. |
− | #;[[File:RK3399 Qt debug stop.png|RTENOTITLE]] | + | #;[[File:RK3399 Qt debug stop.png|RTENOTITLE]] |
#The deafult desktop returns back.[[File:RK3399 Qt default Desktop.png|RTENOTITLE]] | #The deafult desktop returns back.[[File:RK3399 Qt default Desktop.png|RTENOTITLE]] |
Latest revision as of 08:47, 6 August 2023
Contents
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 RK3288(Password: gm9i) and RK3399(Password: 0kkn) cross compiler toolchain first. 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/
Working within QtCreator
Use qtcreator to configure a complete build kit.
Config QtCreator ---- Qt Versions
- Bring up the options dialog using "Tools" -> "Options..."
- Select the "Build & Run" page on the left, switch to "Qt Versions" tab, and click "Add..."
- Select qmake file
- Select "/opt/toolchain_Qt_V5.11.3/rk3288/sysroot/qmake-debian-buster-armhf".
- or
- RK3399 Select "/opt/toolchain_Qt_V5.11.3/rk3399/sysroot/qmake".
- or RK3399 Select "/opt/toolchain_Qt_V5.11.3/rk3399/sysroot/qmake-debian-buster-armhf "
- Input Version name "Qt 5.11.3 (RK3288 )" or "Qt 5.11.3 (RK3399 )".
Config QtCreator ---- Kits
- Bring up the options dialog using "Tools" -> "Options..."
- Select the "Build & Run" page on the left, switch to "Kits" tab, and click "Add..."
- Click "Add".
- RK3288
- Name
- input "RK3288 toolchain"
- Device Tpye
- Select "Generic Linux Device"
- Device
- Select "RK3288"
- Compiler
- Select "GCC (C,arm 32bit in /usr/bin)" and "GCC (C++,arm 32bit in /usr/bin)"
- Qt version
- Select "Qt 5.11.3 (RK3288)"
RK3399
- Name
- input "RK3399 toolchain"
- Device Tpye
- Select "Generic Linux Device"
- Device
- Select "RK3399"
- Compiler
- Select "GCC (C,arm 64bit in /usr/bin)" and "GCC (C++,arm 64bit in /usr/bin)"
- Qt version
- Select "Qt 5.11.3 (RK3399)"
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.