阅读本文之前请先阅读Beaglebone Black——嵌入式QT开发环境搭建一文,上一文中已经安装好Qt库和Qt creator,并且能够在其中实现一键编译程序、传送到BBB开发板、运行程序。
Qt作为一个跨平台的软件,既然他能够编译出运行在BBB板子上的界面程序,那么同样的代码,再不做任何修改下能不能经过编译使得到的可执行文件运行在本PC机中的Ubuntu12.04系统中呢?答案是肯定的!
首先必须了解Qt creator的一个概念:Kit。
如上图所示的Kit,它包含了Qt versions、编译器、Debuggers以及设备这四个部分。
Qt versions指的是编译源码时,你想使用哪个版本的qt库,比如上一文中我用qt-everywhere-opensource-src-4.8.6.tar.gz这个源码包编译出了一个用在ARM板子上的qt库版本,如果以后你想编译源码到Android设备上,那你必然需要把这个源码包编译出一个Android版本的qt库。或者哪天你又需要版本5.4的qt库,那你需要下载一个5.4的源码包然后编译出对应的qt库。
编译器指的是编译源码时你使用的编译器类型,比如上一文中我编译的程序要运行在BBB板子上运行,那么我需要使用gcc-linaro-linux-gnueabihf-4.7这个版本的交叉编译器,如果你现在想编译一个运行在装有ubuntu12.04的PC机上的程序,那么显然你要使用gcc这个编译器。又或者哪一天你要编译其他平台上的程序,那你就需要其他的编译器了。
Debuggers当然指的就是调试器了,这个不多说,理解如编译器。
设备指的就是程序运行的目标平台,他可能是装有ubuntu12.04的PC机,或者是linux系统,或者Android系统,或者其他的智能系统。比如上一文中,我选择地设备是通用的Linux设备,那么在这个设备(BBB)之下,Qt creator保存的信息是设备的主机名(IP地址)、SSH端口号、账户和密码,这些信息可以让Qt creator在编译完你的程序之后将你的程序传送到板子上直接运行,当然其他设备也可以有各自的信息,各有妙用,牛逼吧!
之所以有这个概念,那是因为对于不同的情况,这四个部分你都可以根据实际情况组合起来成为一套Kit,所以Kit其实就是一系列参数设置以及工具的组合。那么同一套源码,或者说同一个工程,你可以给他配置不同的Kit,这样,你可以通过不同的Kit编译出不同平台上的可执行程序,操作极为方便。
---------------------------------------------------------------------------------------------------------------------------------------------------------