ubuntu20.04 搭建 qt5.6.1 arm64交叉编译环境
lib32ncurses5
操作系统采用的是ubuntu20.04
准备的数据包:gcc-linaro-arm-linux-gnueabihf-4.9-2014.08_linux.tar.xz和
qt-everywhere-opensource-src-5.6.1.tar.xz
1. 配置交叉编译工具gcc-linaro-arm-linux-gnueabihf-4.9-2014.08_linux.tar.xz
下载地址:https://releases.linaro.org/archive/14.08/components/toolchain/binaries/
比如解压到/root目录
先执行zx -d gcc-linaro-arm-linux-gnueabihf-4.9-2014.08_linux.tar.xz
然后执行tar xvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.08_linux.tar
在/root目录新建work目录,将解压好的目录移动到work目录,结构如下
/root/work/gcc-linaro-arm-linux-gnueabihf-4.9-2014.08_linux/bin
编辑/etc/profile,在最后插入
export PATH=$PATH:/root/work/gcc-linaro-arm-linux-gnueabihf-4.9-2014.08_linux/bin
执行 source /etc/profile
执行 arm-linux-gnueabihf-gcc -v 报错
运行arm-linux-gnueabihf-gcc-v出现bash: /usr/local/arm/ gcc-linaro-arm-linux-gnueabihf-4.9/bin/arm-linux-gnueabihf-gcc:No such file or directory错误,安装32位兼容包解决该问题
apt search lib32z1
再执行还是报错
运行arm-linux-gnueabihf-gcc–v出现arm-linux-gnueabihf-gcc: error while loadingshared libraries: libstdc++.so.6: cannot open shared object file: No such fileor directory错误
apt install lib32stdc++6
尔后成功
2. 解压5.6.1的qt源码
qt5.6.1 源码地址:https://download.qt.io/new_archive/qt/5.6/5.6.1/
解压步骤类似步骤1,然后
mv /opt/qt-everywhere-opensource-src-5.6.1/ /opt/qt5.6.1
编辑vim qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = arm-linux-gnueabihf-gcc
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_NM = arm-linux-gnueabihf-nm -P
QMAKE_STRIP = arm-linux-gnueabihf-strip
load(qt_config)
在当前目录执行
./configure -prefix /opt/qt-arm -release -xplatform linux-arm-gnueabi-g++ -make libs -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng
执行./configure 出现:"You don't seem to have 'make' or 'gmake' in your PATH"
sudo apt-get install build-essential
配置成功后
执行make -j8
中间会报错 找不到python,由于该版本默认安装的是python3
执行apt install python
make clean后重新make -j8,然后 make install