码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 交叉编译qt到arm平台


    使用pkg-config命令查看xxx包是否存在:
    pkg-config --print-errors xxx
    pkg-config的搜索路径可以通过环境变量PKG_CONFIG_PATH指定。需要在运行./configure 之前指定。

    ./configure -release -qt-libjpeg -qt-libpng -qt-zlib -qt-pcre -xplatform linux-aarch64-gnu-g++ -sysroot ~/rk-qt/sysroot -prefix /home/consys/tool/aarch64-qt-output -opensource -confirm-license -skip qtscript -skip qtwayland -nomake tests -skip qtlocation -skip qt3d -no-opengl -skip qtcanvas3d -skip qtpurchasing -make libs -pkg-config -v -recheck -L H O M E / r k − q t / s y s r o o t / u s r / l i b / − I HOME/rk-qt/sysroot/usr/lib/ -I HOME/rk−qt/sysroot/usr/lib/−IHOME/rk-qt/sysroot/usr/include/
    其中-L和-I选项指定的路径为从目标机中拷贝过来的库和头文件目录。
    autoconfigure.sh中指定了prefix(/home/consys/tool/aarch64-qt-output),这个目录需要注意并不是绝对路径,如果指定了sysroot,那么生成路径就是在sysroot指定的路径下创建prefix路径,即最终的动态库生成路径是(/home/consys/rk-qt/sysroot/home/consys/tool/aarch64-qt-output),这一点不要搞混了。sysroot的作用是提供一个逻辑地址,configure指定该参数后,编译依赖的头文件和库文件会以sysroot指定的路径作为基地址,即交叉编译原本依赖的头文件路径是/usr/include,指定sysroot后,则变成/home/consys/sysroot/usr/include。

    在这里插入图片描述
    当出现类似情况时,查看config.log,查找关键字xcb,得到:
    在这里插入图片描述
    由此得知缺少libphread库,然后在qt-everywhere-src-5.15.8/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf中通过添加LIBS关键字加入该库:
    LIBS+= -L直接打地址 -l直接打库名
    加入库的路径方法有很多种:
    (1)export LD_LIBRARY_PATH=目录1:目录2

    加入C头文件路径方法:
    (1)export C_INCLUDE_PATH= C I N C L U D E P A T H : C_INCLUDE_PATH: CI​NCLUDEP​ATH:(HOME)/MyLibrary/include

  • 相关阅读:
    Vue(模板语法1)
    2020最新Java面试题
    java毕业生设计学生培训管理系统计算机源码+系统+mysql+调试部署+lw
    IPWorks WebSockets Delphi版
    【TSP问题】基于蜜蜂算法解决旅行商问题附Matlab代码
    山东大学单片机原理与应用实验 3.1 基本并行I/O口实验
    C语言大型工程框架设计之设备管理
    2023年中国功能型内窥镜市场发展趋势分析:市场渗透潜力空间广阔[图]
    pringboot+高考志愿填报信息管理系统 毕业设计-附源码251922S
    [供应链·案例篇]疫情影响下的全球十大零售商都做了些什么
  • 原文地址:https://blog.csdn.net/weixin_43527214/article/details/136310824
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号