1、依赖

xcb依赖xcb-proto和Xauth,而Xauth则依赖xorgproto,因此编译顺序应为xcb-proto->xorgproto->Xauth->xorgproto。

1.1、xcb-proto

下载地址:Index of /disthttps://xcb.freedesktop.org/dist/

#解压
tar -zxvf xcb-proto-1.13.tar.gz
cd xcb-proto-1.13
#交叉编译环境,其中/path/to/cross-compile指交叉编译器目录
#如/home/user/toolchain/arm-linux-gnueabihf/bin
export PATH=$PATH:/path/to/cross-compile
#配置,其中/path/to/prefix指编译安装目录
#如/home/user/toolchain/arm-linux-gnueabihf/arm-linux-gnueabihf
#把编译结果安装在交叉编译器中,否则引用到该库需要指定对应的目录
./configure --prefix=/path/to/prefix \
--host=arm-linux-gnueabihf \
--enable-option-checking
#编译
make
#安装
make install

1.2、xorgproto

下载地址:Index of /releases/individual/protohttps://www.x.org/releases/individual/proto/

#解压
tar -zxvf xorgproto-2021.5.tar.gz
cd xorgproto-2021.5
#交叉编译环境,其中/path/to/cross-compile指交叉编译器目录
#如/home/user/toolchain/arm-linux-gnueabihf/bin
export PATH=$PATH:/path/to/cross-compile
#配置,其中/path/to/prefix指编译安装目录
#如/home/user/toolchain/arm-linux-gnueabihf/arm-linux-gnueabihf
#把编译结果安装在交叉编译器中,否则引用到该库需要指定对应的目录
./configure --prefix=/path/to/prefix \
--host=arm-linux-gnueabihf \
--enable-option-checking
#编译
make
#安装
make install

1.3、Xauth

下载地址:Index of /releases/individual/libhttps://www.x.org/releases/individual/lib/

#解压
tar -zxvf libXau-1.0.9.tar.gz
cd libXau-1.0.9
#交叉编译环境,其中/path/to/cross-compile指交叉编译器目录
#如/home/user/toolchain/arm-linux-gnueabihf/bin
export PATH=$PATH:/path/to/cross-compile
#配置,其中/path/to/prefix指编译安装目录
#如/home/user/toolchain/arm-linux-gnueabihf/arm-linux-gnueabihf
#把编译结果安装在交叉编译器中,否则引用到该库需要指定对应的目录
./configure --prefix=/path/to/prefix \
--host=arm-linux-gnueabihf \
--enable-option-checking
#编译
make
#安装
make install

编译错误:

./include/X11/Xauth.h:56:31: fatal error: X11/Xfuncproto.h: No such file or directory

缺少xorgproto,执行1.2交叉编译xorgproto

2、编译xcb

下载地址:Index of /disthttps://xcb.freedesktop.org/dist/这里以1.13为例

#解压
tar -zxvf libxcb-1.13.tar.gz
cd libxcb-1.13
#交叉编译环境,其中/path/to/cross-compile指交叉编译器目录
#如/home/user/toolchain/arm-linux-gnueabihf/bin
export PATH=$PATH:/path/to/cross-compile
#指定交叉编译器pkg_config的目录,交叉编译时能找到前面编译的头文件和库文件
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/user/toolchain/arm-linux-gnueabihf/arm-linux-gnueabihf/lib/pkgconfig
#配置,其中/path/to/prefix指编译安装目录
#如/home/user/toolchain/arm-linux-gnueabihf/arm-linux-gnueabihf
#把编译结果安装在交叉编译器中,否则引用到该库需要指定对应的目录
./configure --prefix=/path/to/prefix \
--host=arm-linux-gnueabihf \
--enable-option-checking
#编译
make
#安装
make install

编译错误:

No package 'xcb-proto' found

缺少xcb-proto,执行1.1交叉编译xcb-proto

xcb_auth.c:33:23: fatal error: X11/Xauth.h: No such file or directory

缺少Xauth,执行1.3交叉编译Xauth

【ARM开发】交叉编译Qt源码之(1)编译xcb相关推荐

  1. linux环境下编译Qt源码

    环境配置:Ubuntu-16.04 1) 下载源码 在官方网站:http://download.qt.io/archive/qt/5.12/5.12.5/single/上下载qt-everywhere ...

  2. Orangepi3-lts 编译Qt源码

    Qt源码编译 环境选择 编译器说明 Qt源码版本与下载 configure选项 make编译 测试编译结果 问题记录 环境选择 这里说的环境包括开发板环境和编译系统环境.我用的是orangepi3-l ...

  3. 开发板与虚拟机组网、uboot源码makefile分析、uboot安全启动与非安全启动方式、uboot源码配置与编译流程、制作TF启动盘

    开发板与虚拟机组网. 局面:开发板.PC(Ubuntu系统).网线直连PC:设置Ubuntu系统:1.设置桥接模式,桥接到PC的有线网卡上:2.手动配置IP V4的地址信息,注意和开发板保持在同一网段 ...

  4. Android录屏并利用FFmpeg转换成gif(二)交叉编译FFmpeg源码

    Android录屏并利用FFmpeg转换成gif(二) 写博客时经常会希望用一段动画来演示app的行为,目前大多数的做法是在电脑上开模拟器,然后用gif录制软件录制模拟器屏幕,对于非开发人员来讲这种方 ...

  5. QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数

    版权声明 请尊重原创作品.转载请保持文章完整性,并以超链接形式注明原始作者"tingsking18"和主站点地址,方便其他朋友提问和指正. QT源码解析(一) QT创建窗口程序.消 ...

  6. WebRTC 开发(二)源码下载与编译

    转载:http://depthlove.github.io/2019/05/02/webrtc-development-2-source-code-download-and-build/ 在使用任何工 ...

  7. [QT_055]设置QT源码调试(qtc+vs/mingw+msvc)

    在开发过程中,我们经常用到调试功能,这样方便查找Bug:Qt是一个开源的框架,可以看到源码.虽然但大部分情况下,我们开发时,只是使用,并没有调试它的源码,但如果想深入了解Qt的一些机制原理,可以配置环 ...

  8. wp实例开发精品文章源码推荐

    qianqianlianmeng wp实例开发精品文章源码推荐 WP8 启动媒体应用         这个示例演示了如何选择正确的msAudioCategory类别的音像(AV)流来配置它作为一个音频 ...

  9. linux如何运行qt源码,Linux/Ubuntu下编译Qt4.8.2源码

    本人所用的系统为Ubuntu 14,所下载的QT源码版本为4.8.2. 以下是编译QT源码的基本步骤: 2.解压代码 输入指令: tar zxvf qt-everywhere-opensource-s ...

  10. uni-app开发:(源码级别)uni-badge样式修改(自定义插槽)

    文章目录 uni-app开发:(源码级别)uni-badge样式修改(自定义插槽) 一.效果图需求说明: 二.源码 · 修改前后对比: 2.1. 修改前 2.2. 修改后 三.调用代码: 附件:uni ...

最新文章

  1. 拼多多面试:如何用 Redis 统计独立用户访问量?
  2. Intel Realsense 如何获取输入图像的分辨率参数?傻办法 asanyarray() shape() get_data()
  3. 在windows中手动安装第三方模块
  4. java jar 环境变量_java-jar jar包带环境变量(参数)启动
  5. rails3系统架构
  6. springboot+mybatis集成自定义缓存ehcache用法笔记
  7. CPU怎么认识代码的?
  8. linux内核 默认路由表,[Linux] linux路由表-Go语言中文社区
  9. ibm服务器维修站点,IBM 服务器维修
  10. ce修改面板属性_脑叶公司员工属性CE修改教程
  11. 25% 的开发者认为 Rust 是最佳替代,最新 Go 开发者调查报告出炉
  12. 解决打开pdf时“在禁用UAC时,无法激活此应用”
  13. 【读书笔记】《Web全栈工程师的自我修养》
  14. HTTP/3 ,它来了。
  15. Web-elasticsearch的使用
  16. 教孩子学习乘法和除法,我算是绞尽脑汁了
  17. 程序人生——Hello P2P
  18. STM32F103学习笔记(5)——数码管驱动TM1650使用
  19. Day213.讲师详细页、课程列表页面、课程详细页、阿里云视频播放测试、阿里云云视频播放器 -谷粒学院
  20. Docker扩容:Centos8虚拟机硬盘扩容+修改Docker默认存储位置

热门文章

  1. php mysql 博客_基于PHP+MySQL的个人博客系统
  2. Wcf 文件上传下载
  3. mysql查看表被哪个进程锁住_查询mysql 哪些表正在被锁状态
  4. 狂神ajax,Ajax 学习笔记 by狂神说
  5. 高德地图之逆地理编码
  6. 盘点好用的 Markdown 编辑器
  7. 麻雀虽小,五脏俱全-Sqlite
  8. 何为血缘分析?血缘分析能给我们带来什么影响?
  9. 聚簇索引,非聚簇索引
  10. c# 实现的支付宝支付