Qt5.14.2 |
您所在的位置:网站首页 › qt编译arm › Qt5.14.2 |
1、安装Qt并下载对应源码
下载并安装Qt ![]() 下载对应的源码包,Linux版本选择tar.gz格式的源码包 Index of /archive/qt/5.14/5.14.2 ![]() 链接 2、下载ARM交叉编译工具Arm GNU Toolchain Downloads – Arm Developer Linaro Releases ARM相关工具链发布主要有ARM、Linaro、Codesourcery。 命名规则交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch : 体系架构,如arm、aarch32(ARM32架构)、aarch64(ARM64架构) vendor : 工具链提供商,none。 os : 目标操作系统,linux适用于Linux OS。 eabi : 嵌入式应用二进制接口(Embedded Application Binary Interface) abi : 二进制应用程序接口(Application Binary Interface (ABI) for the ARM Architecture)。在计算机中,应用二进制接口描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口。 gnu/linux - 表示使用glibc运行库 配置交叉编译器 由于ARM设备的系统环境是glibc2.23,这里选择linaro的6.5.0版本 ![]() 将64位x86架构交叉编译器gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu.tar.xz下载并解压到目标路径下 将目标路径添加至当前用户的环境变量中,因为当前所使用的系统的shell是zsh,所以在~/.zshrc中进行添加,shell是bash则在~/.bashrc中添加 export PATH=$PATH:绝对路径:绝对路径 3、交叉编译Qt源码 ./configure -release -static -opensource -prefix ~/CrossCompileToolChain/aarch64-linux-gun-kit -nomake tests -nomake examples -no-opengl -skip qtvirtualkeyboard -platform linux-g++ -xplatform linux-aarch64-gnu-g++-release 编译release版本 -opensource 表示开源许可 -prefix 指定安装目录,根据自己喜好;安装后qmake程序默认就会根据这个目录路径去搜索头文件和库文件 -nomake 表示不编译后面参数指定的模块 -no-opengl 表示不编译OpenGL,这个我们用不着,也没有安装OpenGL环境,所以不编译,否则会出错 –skip qtvirtualkeyboard 跳过qtvirtualkeyboard,没有相应库环境,不编译,否则编译和安装过程中可能会报错。 -xplatform linux-aarch64-gnu-g++ 指定交叉编译器配置目录为linux-aarch64-gnu-g++,qmake会到当前目录下的qtbase/mkspecs/linux-aarch64-gnu-g++里读取qmake.conf文件,找到配置文件里的交叉编译工具来编译Qt动态库。 默认-shared 编译动态库,这里设为静态库(-static),动态库可移植(生成的工具编译时可选择生成静态或动态库),静态库仅用于编译时链接(生成的工具编译时不能生成动态库)。 默认-platform win32-g++,指定本地编译器配置目录,到当前目录下的qtbase/mkspecs/win32-g++目录里读取qmake.conf文件,找到本地编译工具来编译qmake。 ![]() ![]() 根据错误提示分别在两个头文件中包含limits头 ![]() ![]() 接下来根据提示去完成编译和安装即可,加-j 8可以提升编译速度,V=s可以显示更详细的信息 ![]() gmake过程中出现报错 ![]() 往上拉找到首次出现的错误信息,发现还是limit头 ![]() ![]() 编译过程中再次出现错误信息Project ERROR: Unknown module(s) in QT: openglextensions,是由qtquick3d编译的过程中产生,此处无需该模块,重新./configure 加上-skip qtquick3d即可 ![]() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |