导航:首页 > 源码编译 > qt源码编译带xcb

qt源码编译带xcb

发布时间:2025-07-15 13:49:54

① ubuntu下编译qt源码

首先,访问网站/qtproject/archive/qt/下载Ubuntu下的Qt源码。

解压压缩包tar xvf qt-everywhere-src-5.14.0.tar.xz,创建项目目录mkdir build_qt5.14。

使用命令行安装必备软件包sudo apt-get install libxcb-xinerama0-dev build-essential perl python git,并安装特定的依赖库,如sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev。

面对Python安装失败的问题,使用sudo apt install python3.10解决,通过命令python3 -V验证安装。

在编译过程中,确认CMake已安装,若未安装,使用sudo apt-get install build-essential libfontconfig1 libdbus-1-3 libfreetype6 libudev1 libicu-dev libsqlite3-dev libxslt1-dev libssl-dev libasound2-dev libavcodec-dev libavformat-dev libswscale-dev安装所需依赖。

配置编译命令./configure -prefix /home/linasi/QtVersion/build_qt5.14 -debug -opensource -confirm-license -no-openssl -no-opengl -qt-xcb -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -no-compile-examples -platform linux-g++-64,并进行编译make j2(j2指内核数量)。

在遇到 xcb 相关问题时,使用sudo apt-get install libxcb1-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-xfixes0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xinerama0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-composite0-dev libxcb-damage0-dev libxcb-present-dev libxcb-xtest0-dev libxcb-dri3-dev libxcb-xkb-dev libxcb-util-dev libxcb-ewmh-dev libxcb-xrm0 libxcb-xrm-dev安装所有依赖库,以解决 xcb 未识别问题。

在遇到qt识别问题时,尝试删除配置中的-qt-xcb参数。如果在删除-no-compile-examples后仍然出现问题,编译可顺利进行。

最终完成编译和安装的步骤,确保Qt源码在Ubuntu环境下成功部署。

② 请问Qt软件在linux系统中如何打包移植

一、准备
busybox 1.14.1
qt-embedded-linux-opensource-src-4.5.1
tslib 1.4
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
构建一个新的根文件系统目录,路径为
/root/rootfs

二、具体步骤:

1、编译安装busybox
在官网下载最新版。可以参考如下几处要修改的地方:
Busybox Settings ---> Build Options ---> (arm-linux-)Cross Compiler prefix
Busybox Settings ---> Installation Options --->[]Dont't use /usr
Busybox Settings ---> Installation Options --->(/root/rootfs) BusyBox installation prefix
Busybox Settings --->Busybox Library Tuning --->[*] Fancy Shell prompts
输入如下命令,编译并安装。
# make;make install

2、编译安装tslib
# ./autogen.sh
# ./configure -prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/ -host=arm-linux ac_cv_func_malloc_0_nonnull=yes
# make;make install

安装目录指明为 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/
主要是为了在编译QTE时,不用指定tslib的头文件和库文件,方便以后程序开发。

注意:在做这一步前,需要做一个目录链接
在/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/目录下
# ln -s ../../usr/include ./

3、编译安装QTE
1)、最基本的配置
# ./configure -prefix /usr -embedded arm -xplatform qws/linux-arm-g++ -depths 16 -qt-mouse-tslib
-prefix /usr 使用这个配置,编译后的QTE库文件即可放在目标文件系统的/usr/lib下,而不是默认/usr/local/Trolltech/QtEmbedded-4.5.1 这个很深的目录
2)、编译
# make
# cp lib/* /root/rootfs/usr/lib -rd 将QTE库文件拷贝到根文件系统的目录
# cp plugins /root/rootfs/usr -rd 将QTE插件目录拷贝到根文件系统的目录

4、根文件系统的设置
1)、这时/root/rootfs/usr下应该有 bin etc include lib sbin目录
tslib生成的etc目录,包含一个tslib的配置文件 nf,编辑此文件,去掉mole_raw input前的注释
# mv etc ../ 移动到rootfs的根目录

2)、进行一次清理操作
#arm-linux-strip lib/*.so
#arm-linux-strip usr/lib/*.so

3)、编辑etc/profile,添加以下内容
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/nf
export TSLIB_PLUGINDIR=/usr/lib/ts

最后,通过mkyaffs2image 制作镜像,烧写镜像,启动ts_calibrate校验触屏即可。

③ (未完)开发环境:ubuntu18.04 x86_64 qt5.12.12, aarch64 交叉编译

在构建针对aarch64架构的开发环境时,Ubuntu 18.04 x86_64和Ubuntu 20.04 x86_64平台需要结合VMware进行交叉编译。首先,确保cmake版本在3.16以上,通过手动下载GitHub上的最新版本并解压到指定目录,使用nano编辑器将cmake路径添加到环境变量中,完成环境配置。验证cmake版本和gcc/g++版本,然后安装gcc_aarch64交叉编译器,解压并执行相关命令使环境变量生效。

在验证交叉编译器安装成功后,编写cpp文件并使用交叉编译器进行编译,生成的执行文件可以拷贝到如Jetson Nano这样的aarch64嵌入式设备上运行。实现这一过程的关键步骤包括:在Jetson Nano上使用交叉编译器执行编译命令,确保目标架构的正确配置。

对于Qt5.12.12的安装,参考特定的博客指南,下载并完成qt_x64安装程序,通过GUI界面完成基本安装。下载源码并解压,修改qmake.conf文件以适应aarch64架构的交叉编译环境。在修改qmake.conf文件后,创建build文件夹并编写脚本以指定交叉编译器、sysroot路径、配置选项以及依赖包的安装顺序。确保脚本执行前安装必要的库,如Libxcb、OpenGL、Qt WebKit、Qt WebEngine、Qt Multimedia等。QDoc Documentation Generator Tool也是构建过程中需要考虑的组件。

在执行脚本后,可能遇到未解决的OpenGL编译问题,可以暂时跳过OpenGL模块的编译。对于指定sysroot路径和从Jetson Nano设备复制sysroot文件到VMware虚拟机中的操作,确保网络连接稳定,使用rsync工具完成文件传输。在实际操作中,根据Jetson Nano设备的实际IP地址调整命令参数。

整个过程涉及多个步骤和依赖,关键在于正确配置环境变量、交叉编译器和qmake.conf文件,以及确保所有依赖包的安装。通过这些步骤,能够在Ubuntu 18.04和Ubuntu 20.04平台上成功构建针对aarch64架构的开发环境,支持嵌入式系统开发需求。

阅读全文

与qt源码编译带xcb相关的资料

热点内容
vfpsql命令是 浏览:151
加工中心浮动编程 浏览:425
付费看视频源码 浏览:465
深度分析阿里p7源码 浏览:280
星瑞手机app怎么使用 浏览:298
服务器查看远程登录mac地址 浏览:861
小电工作人员用的APP是什么 浏览:358
情感解压手机软件 浏览:290
云服务器价格表购买费用 浏览:719
物联卡怎么连接服务器 浏览:335
游戏编译资源到92关机 浏览:437
狄塞尔循环的循环压缩比是啥 浏览:168
pyhs2python3 浏览:278
备ntp服务器连接异常怎么弄 浏览:958
如下类定义中哪些语句编译正确 浏览:740
debianwifi命令行 浏览:975
中南大学新交互服务器地址 浏览:350
安卓手机除了快捷键关机怎么关 浏览:395
安卓街霸4怎么玩 浏览:89
印度宣布加密货币 浏览:203