【ARM开发】交叉编译Qt源码之(1)编译xcb
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相关推荐
- linux环境下编译Qt源码
环境配置:Ubuntu-16.04 1) 下载源码 在官方网站:http://download.qt.io/archive/qt/5.12/5.12.5/single/上下载qt-everywhere ...
- Orangepi3-lts 编译Qt源码
Qt源码编译 环境选择 编译器说明 Qt源码版本与下载 configure选项 make编译 测试编译结果 问题记录 环境选择 这里说的环境包括开发板环境和编译系统环境.我用的是orangepi3-l ...
- 开发板与虚拟机组网、uboot源码makefile分析、uboot安全启动与非安全启动方式、uboot源码配置与编译流程、制作TF启动盘
开发板与虚拟机组网. 局面:开发板.PC(Ubuntu系统).网线直连PC:设置Ubuntu系统:1.设置桥接模式,桥接到PC的有线网卡上:2.手动配置IP V4的地址信息,注意和开发板保持在同一网段 ...
- Android录屏并利用FFmpeg转换成gif(二)交叉编译FFmpeg源码
Android录屏并利用FFmpeg转换成gif(二) 写博客时经常会希望用一段动画来演示app的行为,目前大多数的做法是在电脑上开模拟器,然后用gif录制软件录制模拟器屏幕,对于非开发人员来讲这种方 ...
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
版权声明 请尊重原创作品.转载请保持文章完整性,并以超链接形式注明原始作者"tingsking18"和主站点地址,方便其他朋友提问和指正. QT源码解析(一) QT创建窗口程序.消 ...
- WebRTC 开发(二)源码下载与编译
转载:http://depthlove.github.io/2019/05/02/webrtc-development-2-source-code-download-and-build/ 在使用任何工 ...
- [QT_055]设置QT源码调试(qtc+vs/mingw+msvc)
在开发过程中,我们经常用到调试功能,这样方便查找Bug:Qt是一个开源的框架,可以看到源码.虽然但大部分情况下,我们开发时,只是使用,并没有调试它的源码,但如果想深入了解Qt的一些机制原理,可以配置环 ...
- wp实例开发精品文章源码推荐
qianqianlianmeng wp实例开发精品文章源码推荐 WP8 启动媒体应用 这个示例演示了如何选择正确的msAudioCategory类别的音像(AV)流来配置它作为一个音频 ...
- linux如何运行qt源码,Linux/Ubuntu下编译Qt4.8.2源码
本人所用的系统为Ubuntu 14,所下载的QT源码版本为4.8.2. 以下是编译QT源码的基本步骤: 2.解压代码 输入指令: tar zxvf qt-everywhere-opensource-s ...
- uni-app开发:(源码级别)uni-badge样式修改(自定义插槽)
文章目录 uni-app开发:(源码级别)uni-badge样式修改(自定义插槽) 一.效果图需求说明: 二.源码 · 修改前后对比: 2.1. 修改前 2.2. 修改后 三.调用代码: 附件:uni ...
最新文章
- 拼多多面试:如何用 Redis 统计独立用户访问量?
- Intel Realsense 如何获取输入图像的分辨率参数?傻办法 asanyarray() shape() get_data()
- 在windows中手动安装第三方模块
- java jar 环境变量_java-jar jar包带环境变量(参数)启动
- rails3系统架构
- springboot+mybatis集成自定义缓存ehcache用法笔记
- CPU怎么认识代码的?
- linux内核 默认路由表,[Linux] linux路由表-Go语言中文社区
- ibm服务器维修站点,IBM 服务器维修
- ce修改面板属性_脑叶公司员工属性CE修改教程
- 25% 的开发者认为 Rust 是最佳替代,最新 Go 开发者调查报告出炉
- 解决打开pdf时“在禁用UAC时,无法激活此应用”
- 【读书笔记】《Web全栈工程师的自我修养》
- HTTP/3 ,它来了。
- Web-elasticsearch的使用
- 教孩子学习乘法和除法,我算是绞尽脑汁了
- 程序人生——Hello P2P
- STM32F103学习笔记(5)——数码管驱动TM1650使用
- Day213.讲师详细页、课程列表页面、课程详细页、阿里云视频播放测试、阿里云云视频播放器 -谷粒学院
- Docker扩容:Centos8虚拟机硬盘扩容+修改Docker默认存储位置