(一)前言
在阅读本片文档之前,要说明一下“原生开发”与“交叉编译”的区别。
就ARM嵌入式平台而言,你大可以在ARM开发板上安装arm-linux-gcc、安装IDE(如qtcreator),然后利用ARM开发板那点可怜的计算能力对脚本文件进行编译–>链接–>生成,然后得到可执行文件,这就是原生开发。
而所谓的交叉编译,就是在PC机上写代码,利用交叉编译工具链来编译生成在ARM平台上的可执行代码。这里的PC机叫作“宿主机”,ARM开发板叫作“目标机”。在宿主机上开发程序,交叉编译后生成可执行文件,直接拿到目标机上即可运行。
在iTOP-4412搭建Linux+QT开发环境一文中,我们已经为ARM板烧写了“引导、linux内核、Qt/E文件系统”。那么在本文中,将在宿主机上进行“安装qt、qtcreator、交叉编译”等工作,写出第一个Linux+QT程序。
(二)安装qt4
一定要弄清楚,我们已经在目标机(ARM板子)上烧录了Qt/E文件系统,所以这里的安装qt4指的是,在宿主机上安装qt4。因为qt是跨平台的,我们在宿主机(PC-Ubuntu)上调试成功的代码,换个qmake和gcc,就可以直接移植到目标机上了。
sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
(三)安装QtCreator
Qtcreators是进行qt开发的一个IDE,我这里安装的是qtcreator-2.6.1。
1)下载qt-creator-linux-x86_64-opensource-2.6.1.bin , 我保存到路径 /home/topeet/Downloads下。
如果连接失效,请移步至:qt-creator-linux-x86_64-opensource-2.6.1.bin
2)运行安装向导
cd /home/topeet/Downloads
./qt-creator-linux-x86_64-opensource-2.6.1.bin
3)配置qtcreator
Tools -> Options -> build & run : Kits , Qt Versions
如上图所示,我们的qtcreator配置了2个Qt Kit。
1)选择Qt4.7.1-arm来编译工程,生成的可执行文件的属性为 “ELF 32-bit ARM”,是用于拷贝到目标机(ARM板子)上来运行的。
2)选择Qt4.8.1-pc(default)来编译工程,生成的可执行文件是在宿主机(PC机)上运行的。
这两个Qt Kit的 Qt版本、qmake路径、对应的编译器分别如下面2图所示,这里一定要确保配置无误。
(五)HelloWorld ##
打开qtcreator,建立Helloworld工程,注意选择Qt Kit,如下图
这里,我选择了PC下的Debug和ARM下的Release。
进入工程,在UI上添加一个 Helloworld的Label。
1)用PC-Debug,调试运行
2)用ARM-Release,发布在arm平台上运行的可执行文件
3)将上一步产生的可执行文件,用U盘拷贝到iTOP-4412开发板上,即可运行。