当前位置: 首页 > news >正文

x86_64 centos7.2 上用aarch64-linux-gnu-gcc4.8.5交叉编译qt5.11.3

脚本配置

export PKG_CONFIG=/wd/qt5/aarch64-pkg-config
export PKG_CONFIG_LIBDIR=/opt/aarch64-sysroot/pkgconfig
export PKG_CONFIG_SYSROOT_DIR=/opt/aarch64-sysroot
export PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
export PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
set -x
#-sysroot /opt/aarch64-sysroot \
./configure -v -pkg-config -prefix /opt/qt5.11.3_arm64 \
-extprefix /opt/qt5.11.3_arm64 \
-opensource \
-confirm-license \
-nomake tests \
-nomake examples \
-release \
-xplatform linux-aarch64-gnu-g++ \
-sysroot /opt/aarch64-sysroot \
-skip qtandroidextras \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qt3d \
-skip qtcanvas3d \
-skip qtcharts \
-skip qtdatavis3d \
-skip qtdeclarative -skip qtimageformats \
-skip qtgamepad \
-skip qtmacextras \
-skip qtmultimedia \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtquickcontrols \
-skip qtquickcontrols2 \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtserialbus \
-skip qtserialport \
-skip qtspeech \
-skip qtsensors \
-skip qtsvg \
-skip qtvirtualkeyboard \
-skip qtwayland \
-skip qtwebchannel \
-skip qtwebengine \
-skip qtwebglplugin \
-skip qtwebsockets \
-skip qtwebview \
-skip qtwinextras \
-skip qtxmlpatterns \
-no-opengl \
-openssl-runtime  \
-qt-zlib  \
-qt-libpng -qt-libjpeg \
-qt-xkbcommon-x11 \
-qt-freetype \
-qt-harfbuzz \
-qpa xcb \
-system-xcb \
-I /opt/aarch64-sysroot/usr/include -L /opt/aarch64-sysroot/usr/lib64

-sysroot /opt/aarch64-sysroot

指定目标aarch64根目录,提供目标机上的依赖库,主要是openssl和xcb,用sshfs挂载到本地目录 /opt/aarch64-sysroot,目标系统是centos7.2的aarch64机器

交叉编译x64本机的pkg-config找不到目标aarch64机器上的依赖库的pc文件,所以需要PKG_CONFIG_XX相关环境变量。

不知道为什么qt死活无法启用本机pkg-config,能找到但是不知道什么原因全局禁用了

为了顺利找到写了个/wd/qt5/aarch64-pkg-config包装脚本

-skip 跳过不需要的组件

-extprefix /opt/qt5.11.3_arm64很重要,交叉编译完成后,安装到本机的位置

如果只是指定了--prefix /opt/qt5.11.3_arm64,最后会安装到sysroot + prefix目录

-openssl-runtime,会检查编译环境中的openssl,但是生成的库不会直接依赖openssl,运行是动态加载,省心

-system-xcb,使用-sysroot /opt/aarch64-sysroot下的xcb-xxx扩展库

-qt-xcb 使用源码中的xcb-xxx扩展库

libxcb始终会在编译系统环境(包括-sysroot路径)中找

xcb库检查过程中各种失败,主要是用了pkgconfig,xcb.pc文件只描述-lxcb,补充-lXau,否则找不到libXau

http://www.dtcms.com/a/434448.html

相关文章:

  • GLib线程池全面解析:原理、应用与性能优化
  • 东莞网站设计网址电影网站建设方案ppt模板下载
  • 51单片机-驱动LCD1602液晶显示屏教程
  • 【C++哲学】面向对象的三大特性之 多态
  • Python - 100天从新手到大师:第二十六天Python操作Word和PowerPoint文件
  • 算法基础 典型题 前缀和
  • 广告网站制作多少钱wordpress修改密码后还是登陆不了
  • 【MySQL】一篇讲透MySQL的MVCC机制!
  • 【开题答辩全过程】以 Web数据挖掘在电子商务中的应用研究为例,包含答辩的问题和答案
  • 网站界面美观度站长素材网站官网
  • 生活的方向,从来没有统一的标准答案——它不是一张固定的地图,也不是一条必须抵达的终点线,更像是你在行走中慢慢校准的“心之所向”。
  • 网站到期时间网站开发小图片
  • Git打tag标签
  • leetcode 494 目标和
  • 网站设置成灰色全球最牛的搜索引擎
  • Apache POI操作Docx文档时踩坑指南
  • K230基础-显示画面
  • 一级a做爰片免费网站 新闻wordpress用户修改文章
  • 从零起步学习Redis || 第五章:利用Redis构造分布式全局唯一ID
  • C++基础语法核心技术详解
  • 临沂网站建设报价手机百度免费下载
  • 打工人日报#20251002
  • GMSL Layout Guide及其解读
  • ThinkPad X1 Carbon Gen13,X1 2in1 Gen10(21NX,21NY,21Q0,21Q1)原厂Win11Home系统
  • 设置VLC播放器的皮肤样式
  • 外贸网站搭建网站优化过度被k
  • 【工业实战】从架构到优化:企业级RAG客服对话系统的构建之道
  • CMake 入门实战手册:从理解原理开始,打造高效 C/C++ 开发流程
  • MySQL 5.7 主主复制 + Keepalived 高可用配置实例
  • 2014 年真题配套词汇单词笔记(考研真相)