Qt arm嵌入式交叉编译环境搭建

刚接触linux系统和Qt,这个编译环境的搭建确实让人很是烦恼。经过一个多月时间的接触,基本搞定了,虽然有些东西还是不是太明白,这在做个总结。

Qt的理解
首先得明白,qt就是一个C++类库。用的时候,我们是通过调用它的动态库来使用的。这就涉及一个问题了,在不同的系统上比如windows、linux、arm-linux上编译器不一样,所以我们就需要用对应的编译器编译Qt的源码,来获取对应编译器的版本。windows版本已经编译好了,所以我们就直接用了。
QtCreator不是一个编译器,而只是一个可视化开发环境,它通过qmake将相应的配置信息生成一个makefile文件。然后,通过makefile文件来调用相应的编译器来编译生成程序。

安装arm-linux编译器
这里我就不说了,因为有其他的人安装好了,我就没有再安装,等对这部分内容熟悉了,再去安装。我使用的是Ubuntu14.04系统感觉还是不错的,从同事那拷贝编译好的的文件CodeSourcery.tar.bz2解压在/usr/locall目录下,也可以放在其他目录下。这里提一下linux系统一切皆文件,所以编译好的东西,直接拷贝过来就能用了,不像windows上还有注册表什么的。

编译arm-linux版qt
这里也有同事编译好了,我也暂时没有去编译了。从同事那拷贝编译好的Trolltech.tar.bz2文件,解压到/usr/local目录下。

安装QtCreator
安装这个的方法似乎有很多,我选择了最简单的方法。直接在ubuntu软件中心下载。

相关配置
以上就把所有需要的东西准备齐了,下一步就是配置,通过对QtCreator的配置,增加一个制定Qt版本和编译器。
首先,我们增加一个环境变量,将arm编译器的路径添加进去。在终端输入:gedit /etc/profile 在最后添加下面两句:
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export PATH= PATH:/usr/local/CodeSourcery/SourceryCodeBenchLiteforXilinxGNULinux/binCROSSCOMPILEQtqmake/usr/local/Trolltech/QtEmbedded4.8.4arm/mkspecs/qws/linuxarmg++/qmake.confQtCreatormakefile {CROSS_COMPILE}g++等,这个就是指定编译器的名称,编译器的路径就是第二句导入的路径;第二句的意思是为默认shell路径增加一个路径,这样的话,当我们或者程序在shell窗口中输入arm-xilinx-linux-gnueabi-g++ -v就能够查看当前交叉编译器的版本了。同时QtCreator也可以查找到交叉编译器的路径了。

好了,下面我们开始配置QtCreator。
增加一个编译器:点击tools-options-build and run-compilers,手动添加一个编译器,名字自己曲就叫做:arm-linux-g++;路径就是上面提到的那个PATH下面的arm-xilinx-linux-gnueabi-g++。
增加一个Qt版本:打开/usr/local/Trolltech/QtEmbedded-4.8.4-arm/bin/qmake。这里可能会出现“No qmlviewer installed”告警信息“这是因为没有安装qmlviewer或qmlviewer安装后的可执行文件没有处于qt-4.7.1/bin目录下,针对后一种情况只需从qmlviewer的安装目录(一般在/usr/bin目录下)里将qmlviewer, qmlpuppet, qmlprofiler, 和qmlplugindump复制到qt-4.7.1/bin目录下。而针对未安装qmlviewer的情况,安装方法如下:在ubuntu12.04中打开linux终端,输入以下命令:apt-get install qt4-qmlviewer即可。

最后,在kits中添加一个arm-linux的编译套件。选择刚才的qt版本和编译器,最后指定一下mkspecs的路径/usr/local/Trolltech/QtEmbedded-4.8.4-arm/mkspecs/qws/linux-arm-g++就可以了。

以上就是环境的搭建了,至于怎么编译,就暂时留在以后再去研究吧。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值