<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?action=history&amp;feed=atom&amp;title=ROM-6881_Qt_Toolchain</id>
		<title>ROM-6881 Qt Toolchain - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://ess-wiki.advantech.com.tw/wiki/index.php?action=history&amp;feed=atom&amp;title=ROM-6881_Qt_Toolchain"/>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=ROM-6881_Qt_Toolchain&amp;action=history"/>
		<updated>2026-05-21T14:42:18Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.28.3</generator>

	<entry>
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?title=ROM-6881_Qt_Toolchain&amp;diff=32464&amp;oldid=prev</id>
		<title>Xingxing.li: Created page with &quot; = 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 environmen...&quot;</title>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=ROM-6881_Qt_Toolchain&amp;diff=32464&amp;oldid=prev"/>
				<updated>2023-11-27T01:54:01Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot; = 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 environmen...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
= Preface =&lt;br /&gt;
&lt;br /&gt;
Qt has many versions, and may run on defferent OSs.But the toolchain we provide can fit them well.&lt;br /&gt;
&lt;br /&gt;
It has the following advantages:&lt;br /&gt;
&lt;br /&gt;
*The compilation environment is consistent with runtime environment. &lt;br /&gt;
*Good compatibility. &lt;br /&gt;
*Good extensibility. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If you meet any problems, please do not hesitate to contact Advantech for help.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
Debian10(buster) is highly recommended OS to develop.&lt;br /&gt;
&lt;br /&gt;
== Installing required packages ==&lt;br /&gt;
&lt;br /&gt;
Please login and perform the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo apt-get install -y build-essential &lt;br /&gt;
$ sudo apt-get install -y qtcreator &lt;br /&gt;
$ sudo apt-get install -y qt5-default &lt;br /&gt;
$ sudo apt-get install -y qt5-doc &lt;br /&gt;
$ sudo apt-get install -y qt5-doc-html qtbase5-doc-html &lt;br /&gt;
$ sudo apt-get install -y qtbase5-examples &lt;br /&gt;
$ sudo apt-get install -y qt5-qmake &lt;br /&gt;
$ sudo apt-get install -y rsync&lt;br /&gt;
$ sudo apt-get install -y gcc-8-arm-linux-gnueabihf g++-8-arm-linux-gnueabihf&lt;br /&gt;
$ sudo apt-get install -y gcc-8-aarch64-linux-gnu g++-8-aarch64-linux-gnu&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Link arm-linux-gnu*-8 to arm-linux-gnu* and aarch64-linux-gnu*-8 to aarch64-linux-gnu*:&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo su&lt;br /&gt;
$ cd /usr/bin&lt;br /&gt;
$ for f in $(ls arm-linux-gnu*-8);do ln -sf $f $(echo $f|sed &amp;quot;s/-8//&amp;quot;);done &lt;br /&gt;
$ for f in $(ls aarch64-linux-gnu*-8);do ln -sf $f $(echo $f|sed &amp;quot;s/-8//&amp;quot;);done&lt;br /&gt;
$ exit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Installing cross toolchain ==&lt;br /&gt;
&lt;br /&gt;
Please download cross compiler toolchain first.&lt;br /&gt;
&lt;br /&gt;
[https://pan.baidu.com/s/1JnXJ_X_HRDWoB14VBIq9fA RK3288](Password: gm9i)&lt;br /&gt;
&lt;br /&gt;
[https://pan.baidu.com/s/1OEzbJsgBSo3n5DdwRY2Rag RK3399](Password: 0kkn)&lt;br /&gt;
&lt;br /&gt;
[https://pan.baidu.com/s/17hCuIcORYDPOSAqVoyPPrg RK3568](Password: a887)&lt;br /&gt;
&lt;br /&gt;
[https://pan.baidu.com/s/1KWoDVtQhAEJTi_1GiAcC0A RK3588](Password: a887)&lt;br /&gt;
&lt;br /&gt;
Then execute the following command to unzip the cross compiler tool to the /opt directory&lt;br /&gt;
&lt;br /&gt;
For RK3288&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo rm -rf /opt/toolchain_Qt_V5.11.3/rk3288/&lt;br /&gt;
$ sudo mkdir -p /opt/toolchain_Qt_V5.11.3/rk3288/&lt;br /&gt;
$ sudo tar -zxf rk3288_toolchain_Qt_V5.11.3_*.tar.gz -C /opt/toolchain_Qt_V5.11.3/rk3288/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For RK3399&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo rm -rf /opt/toolchain_Qt_V5.11.3/rk3399/ &lt;br /&gt;
$ sudo mkdir -p /opt/toolchain_Qt_V5.11.3/rk3399/ &lt;br /&gt;
$ sudo tar -zxvf rk3399_toolchain_Qt_V5.11.3_*.tar.gz -C /opt/toolchain_Qt_V5.11.3/rk3399/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For RK3568&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo rm -rf /opt/toolchain_Qt_V5.11.3/rk3568/&lt;br /&gt;
$ sudo mkdir -p /opt/toolchain_Qt_V5.11.3/rk3568/&lt;br /&gt;
$ sudo tar -zxf rk3568_toolchain_Qt_V5.11.3_*.tar.gz -C /opt/toolchain_Qt_V5.11.3/rk3568/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For RK3588&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo rm -rf /opt/toolchain_Qt_V5.15.2/rk3588/&lt;br /&gt;
$ sudo mkdir -p /opt/toolchain_Qt_V5.15.2/rk3588/&lt;br /&gt;
$ sudo tar -zxf rk3588_toolchain_Qt_V5.15.2_*.tar.gz -C /opt/toolchain_Qt_V5.15.2/rk3588/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Working within QtCreator =&lt;br /&gt;
&lt;br /&gt;
The following example is test on QT5.9.5(qmake version) of Ubuntu18.04.There may be a few differences on other operating system,but the main steps are the same.&lt;br /&gt;
&lt;br /&gt;
Use qtcreator to configure a complete build kit.&lt;br /&gt;
&lt;br /&gt;
== Config QtCreator ---- Qt Versions ==&lt;br /&gt;
&lt;br /&gt;
1. Select Tools --&amp;gt; options --&amp;gt;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[File:QtDNK5.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
2. Select Qt versions --&amp;gt; Manual --&amp;gt;Add --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; Path:/opt/toolchain_Qt_V5.11.3/'''RK3568 or&amp;amp;nbsp;RK3399 or RK3288'''/sysroot/qmake&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; Path:/opt/toolchain_Qt_V5.15.2/'''RK3588'''/sysroot/qmake&lt;br /&gt;
&lt;br /&gt;
[[File:QtICMN.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[[File:QtLZHW4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
== Config QtCreator ---- Qt Complers ==&lt;br /&gt;
&lt;br /&gt;
1. Select compilers --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Because Gcc and G++ has been installed earlier, the compiler will generally detect it automatically.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; If no Auto-detected, just Add it.&lt;br /&gt;
&lt;br /&gt;
'''Path for''''''RK3588 (64)''':/usr/bin/arrch64-linux-gnu-gcc&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;/usr/bin/aarch64-linux-gnu-g++&lt;br /&gt;
&lt;br /&gt;
'''Path for''''''RK3568 (64)''':/usr/bin/arrch64-linux-gnu-gcc&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;/usr/bin/aarch64-linux-gnu-g++&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
'''Path for''''''RK3399 (64)''':/usr/bin/aarch64-linux-gnu-gcc&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;/usr/bin/aarch64-linux-gnu-g++&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
'''Path for''''''RK3288(32)''':/usr/bin/arm-linux-gnueabihf-gcc&lt;br /&gt;
&lt;br /&gt;
'''&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;'''/usr/bin/arm-linux-gnueabihf-g++&lt;br /&gt;
&lt;br /&gt;
The following figure uses rk3568&amp;amp;nbsp; as an example ：&lt;br /&gt;
&lt;br /&gt;
[[File:QtIXDKY6.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
== Config QtCreator ---- Qt Debuggers ==&lt;br /&gt;
&lt;br /&gt;
1. Select Debuggers --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. The Debuggers selection system buildin,If no Auto-detected , just Add it:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; Path: /usr/bin/gdb&lt;br /&gt;
&lt;br /&gt;
[[File:QtGZ6D5.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
== Config QtCreator ---- Qt Cmakes ==&lt;br /&gt;
&lt;br /&gt;
1. Select Cmake --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Similarly,Cmake also uses the system Cmake , if no Auto-detected , just Add it&amp;amp;nbsp;:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; Path: /usr/bin/Cmake&lt;br /&gt;
&lt;br /&gt;
[[File:Qt8D.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
== Config QtCreator ---- Qt kits ==&lt;br /&gt;
&lt;br /&gt;
1. Select Kits&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
2. Configure &amp;quot;Qt version&amp;quot;、&amp;quot;Compilers&amp;quot;、&amp;quot;Debuggers&amp;quot;&amp;amp;nbsp;and &amp;quot;Cmake&amp;quot;&amp;amp;nbsp;configurations in Kits.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;The picture below uses rk3568&amp;amp;nbsp;as an example：&lt;br /&gt;
&lt;br /&gt;
[[File:T4KDS.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[[File:QtZ52.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
== Creating the Project ==&lt;br /&gt;
&lt;br /&gt;
#Bring up &amp;quot;New&amp;quot; dailog using &amp;quot;File&amp;quot; -&amp;gt; &amp;quot;New File or Project...&amp;quot; &lt;br /&gt;
#Select &amp;quot;Applications&amp;quot; -&amp;gt; 'Qt Widgets Application&amp;quot; &lt;br /&gt;
#Click &amp;quot;Choose...&amp;quot; &lt;br /&gt;
#;[[File:RK3399 Project 001.png|RTENOTITLE]]   &lt;br /&gt;
#Use &amp;quot;Hello&amp;quot; as name &lt;br /&gt;
#Create in &amp;quot;/mnt/sda1/work/qt/qt_PJ&amp;quot; &lt;br /&gt;
#Click &amp;quot;Next&amp;quot; &lt;br /&gt;
#;[[File:RK3399 Qt Project local.png|RTENOTITLE]]   &lt;br /&gt;
#Check &amp;quot;RK toolchain&amp;quot; &lt;br /&gt;
#Click &amp;quot;Next&amp;quot;. &lt;br /&gt;
#;[[File:RK3399 Qt Project toolchain.png|RTENOTITLE]]   &lt;br /&gt;
#Use default settings for &amp;quot;Class Information&amp;quot; &lt;br /&gt;
#Click &amp;quot;Next&amp;quot; &lt;br /&gt;
#;[[File:RK3399 QT Project last.png|RTENOTITLE]]   &lt;br /&gt;
#Use default settings for &amp;quot;Project Management&amp;quot; &lt;br /&gt;
#Click &amp;quot;Finish&amp;quot; &lt;br /&gt;
#;[[File:RK3399 Qt Project last2.png|RTENOTITLE]]   &lt;br /&gt;
#Double click &amp;quot;Hello.pro&amp;quot; to switch to editor window &lt;br /&gt;
#In new project it is necessary to add following two lines into qt project file. &lt;br /&gt;
#:&amp;lt;code&amp;gt;target.path = .&amp;lt;br/&amp;gt; INSTALLS += target&amp;lt;/code&amp;gt; &lt;br /&gt;
#;[[File:RK3399 Qt Project code002.png|RTENOTITLE]]   &lt;br /&gt;
#Press &amp;quot;Ctrl+S&amp;quot; to save file. &lt;br /&gt;
#Double click &amp;quot;mainwindow.ui&amp;quot; to switch to Design mode &lt;br /&gt;
#Drag &amp;amp; drop one Label widget on main form, use property editor on the right side to change text and font size &lt;br /&gt;
#;[[File:2015-01-30 174418.png|RTENOTITLE]] &lt;br /&gt;
#;[[File:RK3399 Qt Project code003.png|RTENOTITLE]]   &lt;br /&gt;
#Save all project files using &amp;quot;File&amp;quot; -&amp;gt; &amp;quot;Save All&amp;quot; &lt;br /&gt;
&lt;br /&gt;
== Building the Project ==&lt;br /&gt;
&lt;br /&gt;
#Switch to &amp;quot;Projects&amp;quot; mode &lt;br /&gt;
#Check if &amp;quot;build configuration&amp;quot; is set to &amp;quot;Debug&amp;quot;. &lt;br /&gt;
#;[[File:RK3399 Qt debug setting.png|RTENOTITLE]]   &lt;br /&gt;
#Check if &amp;quot;Files to deploy&amp;quot; is correct &lt;br /&gt;
#;[[File:RK3399 Qt run setting.png|RTENOTITLE]]   &lt;br /&gt;
#Set environment variable DISPLAY in QtCreator -&amp;gt; Projects -&amp;gt; Run -&amp;gt; Run Environment. The value of DISPLAY is obtained from the rk3399. For example, execute instruction '''''echo $DISPLAY''''' on RK3399. &lt;br /&gt;
#;[[File:RK3399 Qt ENV Display.png|RTENOTITLE]]   &lt;br /&gt;
#Switch to &amp;quot;Edit&amp;quot; mode &lt;br /&gt;
#Click &amp;quot;Build&amp;quot; using context menu of project &amp;quot;Hello&amp;quot; &lt;br /&gt;
#;[[File:RK3399 Qt build start.png|RTENOTITLE]]   &lt;br /&gt;
#The green &amp;quot;Build&amp;quot; bar means no error occured. &lt;br /&gt;
#;[[File:RK3399 Qt build status.png|RTENOTITLE]]   &lt;br /&gt;
#Press &amp;quot;Alt+4&amp;quot; to show &amp;quot;Compile Output&amp;quot;.&amp;amp;nbsp;[[File:RK3399 Qt build output.png|RTENOTITLE]] &lt;br /&gt;
&lt;br /&gt;
== Deploying the Application ==&lt;br /&gt;
&lt;br /&gt;
#Click &amp;quot;Deploy&amp;quot; using context menu of project Hello[[File:RK3399 Qt deploy start.PNG|RTENOTITLE]] &lt;br /&gt;
#The green &amp;quot;Deploy&amp;quot; bar indicates no error occured.[[File:RK3399 Qt deploy output.png|RTENOTITLE]] &lt;br /&gt;
&lt;br /&gt;
== Debugging the Application ==&lt;br /&gt;
&lt;br /&gt;
#Click debug icon to start debugging. &lt;br /&gt;
#;[[File:RK3399 Qt debug start.png|RTENOTITLE]]   &lt;br /&gt;
#Press &amp;quot;Alt+3&amp;quot; to show &amp;quot;Application Output&amp;quot;[[File:RK3399 Qt debug output.png|RTENOTITLE]] &lt;br /&gt;
#The &amp;quot;Hello&amp;quot; shows up on primary display. &lt;br /&gt;
#;[[File:RK3399 Qt result show.png|RTENOTITLE]]   &lt;br /&gt;
#Click &amp;quot;stop&amp;quot; to stop debugging. &lt;br /&gt;
#;[[File:RK3399 Qt debug stop.png|RTENOTITLE]]   &lt;br /&gt;
#The default desktop returns back.[[File:RK3399 Qt default Desktop.png|RTENOTITLE]] &lt;br /&gt;
&lt;br /&gt;
= FAQ =&lt;br /&gt;
&lt;br /&gt;
== Cannot find Libraries ==&lt;br /&gt;
&lt;br /&gt;
When build, you may get the error like &amp;quot;cannot find -l'''xxxx'''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;xxxx&amp;quot; is just an example of the library linked to your application.&lt;br /&gt;
&lt;br /&gt;
For example： &amp;quot;cannot find -lsqlite3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
First find the library in toolchain path.&lt;br /&gt;
&lt;br /&gt;
The following commands are taking &amp;quot;RK3568&amp;quot; as example, other platforms are very similar.&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /opt/toolchain_Qt_V5.11.3/rk3568/&lt;br /&gt;
find ./ -name libsqlite3.so*&lt;br /&gt;
cd ./sysroot/usr/lib/aarch64-linux-gpu&lt;br /&gt;
ln -s libsqlite3.so.0 libsqlite3.so&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you cannot find the library you need in toolchain path, please do not hesitate to contact Advantech for help.&lt;/div&gt;</summary>
		<author><name>Xingxing.li</name></author>	</entry>

	</feed>