Ununtu 16.04交叉编译移植qt5.9.4

Ununtu 16.04交叉编译qt5.9.4

1、准备工作

(1)官网下载qt5.9.4的源码;
(2)准备交叉编译器,这里的交叉编译器必须是你的目标开发板配套的交叉编译工具;
(3)将交叉编译器添加到环境变量;

2、解压qt5.9.4源码

tar vxf qt-everywhere-opensource-src-5.9.4.tar
cd qt-everywhere-opensource-src-5.9.4

3、修改qmake.conf

vim qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf
1 #
  2 # qmake configuration for building with aarch64-linux-gnu-g++
  3 #
  4 
  5 MAKEFILE_GENERATOR      = UNIX
  6 CONFIG                 += incremental
  7 QMAKE_INCREMENTAL_STYLE = sublib
  8 
  9 include(../common/linux.conf)
 10 include(../common/gcc-base-unix.conf)
 11 include(../common/g++-unix.conf)
 12 
 13 # modifications to g++.conf
 14 QMAKE_CC                = /media/u260510/47037fce-de1d-40bd-8cd8-922f0e1edc8e/rk_docs/rk1808/buildroot/output/rockchip_rk1808/host/usr/bin/aarch64-buildroot-linux-gnu-gcc
 15 QMAKE_CXX               = /media/u260510/47037fce-de1d-40bd-8cd8-922f0e1edc8e/rk_docs/rk1808/buildroot/output/rockchip_rk1808/host/usr/bin/aarch64-buildroot-linux-gnu-g++
 16 QMAKE_LINK              = /media/u260510/47037fce-de1d-40bd-8cd8-922f0e1edc8e/rk_docs/rk1808/buildroot/output/rockchip_rk1808/host/usr/bin/aarch64-buildroot-linux-gnu-g++
 17 QMAKE_LINK_SHLIB        = /media/u260510/47037fce-de1d-40bd-8cd8-922f0e1edc8e/rk_docs/rk1808/buildroot/output/rockchip_rk1808/host/usr/bin/aarch64-buildroot-linux-gnu-g++
 18 
 19 # modifications to linux.conf
 20 QMAKE_AR                = /media/u260510/47037fce-de1d-40bd-8cd8-922f0e1edc8e/rk_docs/rk1808/buildroot/output/rockchip_rk1808/host/usr/bin/aarch64-buildroot-linux-gnu-ar cqs
 21 QMAKE_OBJCOPY           = /media/u260510/47037fce-de1d-40bd-8cd8-922f0e1edc8e/rk_docs/rk1808/buildroot/output/rockchip_rk1808/host/usr/bin/aarch64-buildroot-linux-gnu-objcopy
 22 QMAKE_NM                = /media/u260510/47037fce-de1d-40bd-8cd8-922f0e1edc8e/rk_docs/rk1808/buildroot/output/rockchip_rk1808/host/usr/bin/aarch64-buildroot-linux-gnu-nm -P
 23 QMAKE_STRIP             = /media/u260510/47037fce-de1d-40bd-8cd8-922f0e1edc8e/rk_docs/rk1808/buildroot/output/rockchip_rk1808/host/usr/bin/aarch64-buildroot-linux-gnu-strip
 24 load(qt_config)

修改14-23行的内容,改为自己相对应的交叉编译器绝对路径,最好是绝对路径

4、生成makefile文件

执行./configure进行对应的配置,可以用./confgure --help查看。

./configure -v --prefix=$PWD/qt5 -release -make libs -xplatform linux-aarch64-gnu-g++ -optimized-qmake -pch -qt-zlib -no-opengl -no-sse2 -no-openssl -no-cups -no-separate-debug-info -nomake examples -nomake tools -device-option  CROSS_COMPILE=/media/u260510/47037fce-de1d-40bd-8cd8-922f0e1edc8e/rk_docs/rk1808/buildroot/output/rockchip_rk1808/host/usr/bin/aarch64-buildroot-linux-gnu-

安装路径用–prefix=参数自己指定。CROSS_COMPILE参数是自己编译器的绝对路径。

5、编译

make

6、安装

make install

安装完成后会在你的安装目录下看到以下文件:

bin  doc  include  lib  mkspecs  plugins  qml  translations

7、移植到目标开发板

将安装目录下的include、 lib、 plugins复制到开发板/opt/qt5目录下(**注意:**这是我自己的目录,可以根据自己的实际情况进行修改)

8、添加环境变量

上一步移植好之后,在要在开发板上设置qt的环境变量:
打开profile添加以下内容:

vi /etc/profile
export QT_ROOT=/opt/qt5
export TSLIB_ROOT=/opt/tslib
export LD_LIBRARY_PATH=/opt/qt5/lib:$LD_LIBARAY_PATH
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts
export LD_PRELOAD=/usr/lib/preloadable_libiconv.so:$TSLIB_ROOT/lib/libts.so
export QT_QPA_GENERIC_PLUGINS=/opt/tslib

9、验证

使用qt creator编写一个小界面,移植到开发板上进行验证,具体方法自己百度。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值