运维开发网

ubuntu16交叉编译Qt5.9

运维开发网 https://www.qedev.com 2020-04-09 14:18 出处:网络 作者:运维开发网整理
1、安装交叉编译器     一般购买ARM开发板,对应的交叉编译器会由厂商提供。交叉编译器也就是能在X86的环境下编译出ARM中能运行的程序,例如cortex-A9的交叉编译器:

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.voidcn.com/article/p-mizktvgv-bqu.html

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

    

ubuntu16交叉编译Qt5.9

    所以我需要输入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版本和交叉编译器都添加进去

    

ubuntu16交叉编译Qt5.9

    

ubuntu16交叉编译Qt5.9

    

ubuntu16交叉编译Qt5.9

   

ubuntu16交叉编译Qt5.9

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

    

ubuntu16交叉编译Qt5.9

0

精彩评论

暂无评论...
验证码 换一张
取 消