ubuntu16交叉编译Qt5.9

前端之家收集整理的这篇文章主要介绍了ubuntu16交叉编译Qt5.9前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、安装交叉编译器

一般购买ARM开发板,对应的交叉编译器会由厂商提供。交叉编译器也就是能在X86的环境下编译出ARM中能运行的程序,例如cortex-A9的交叉编译器:


将这个包在ubuntu中解压,路径自己决定。然后将这个交叉编译器中的bin目录加入环境变量,例如我的:

export PATH=/home/clark/QtEnv/arm-cortexa9-linux-gnueabihf/4.9.3/bin:$PATH
设置ubuntu环境变量可以参考我的博客http://www.jb51.cc/article/p-mizktvgv-bqu.html


验证环境变量是否设置成功,在控制台中输入***-g++ -v,其中***代表你的交叉编译器的名字,每种类型的芯片对应的不一样,具体可以去bin目录下查看,例如我的是:



所以我需要输入arm-cortexa9-linux-gnueabihf-g++ -v,然后控制台中出现编译器的版本号就代表你安装成功了。


2、交叉编译Qt

首先在Qt官网下载对应的Qt源码:http://download.qt.io/archive/qt/


在ubuntu中解压缩,跳转到qt-everywhere-opensource-src-5.9.1/qtbase/mkspecs/linux-arm-gnueabi-g++/目录下,修改qmake.conf文件,将编译器都更换为刚刚安装的交叉编译器,例如我的:



跳转qt-everywhere-opensource-src-5.9.1目录下,配置安装选项:

./configure -release -nomake examples -no-opengl -no-assimp -no-qt3d-profile-jobs -no-qt3d-profile-gl -xplatform linux-arm-gnueabi-g++ -prefix /home/clark/QtEnv/QtEmbedded-5.9.1-arm -opensource -confirm-license
这里我去掉了opengl、Qt3D相关的库、examples,编译他们三个会导致编译失败。

-prefix /home/clark/QtEnv/QtEmbedded-5.9.1-arm这个是设置安装位置,由你自己定义。


配置完成之后输入:make -j4,表示开启4个线程一起编译,这样会快些,编译得个把小时。

编译完成后,输入make install,安装Qt。


3、设置Qt Creator

同样在Qt官网下载可以直接安装的Qt,例如:


这个是linux64位桌面版的Qt,自带Qt Creator。把他复制到ubuntu中后,可以直接./运行起来,图像化安装。

接下来配置构建和运行,将刚刚安装的QtEmbed版本和交叉编译器都添加进去



注意:交叉编译时只能点构建,不能点运行。因为编译出程序是在arm跑的。

原文链接:https://www.f2er.com/ubuntu/350413.html

猜你在找的Ubuntu相关文章