導航:首頁 > 源碼編譯 > 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相關的資料

熱點內容
星瑞手機app怎麼使用 瀏覽:298
伺服器查看遠程登錄mac地址 瀏覽:861
小電工作人員用的APP是什麼 瀏覽:358
情感解壓手機軟體 瀏覽:290
雲伺服器價格表購買費用 瀏覽:719
物聯卡怎麼連接伺服器 瀏覽:335
游戲編譯資源到92關機 瀏覽:437
狄塞爾循環的循環壓縮比是啥 瀏覽:168
pyhs2python3 瀏覽:278
備ntp伺服器連接異常怎麼弄 瀏覽:958
如下類定義中哪些語句編譯正確 瀏覽:740
debianwifi命令行 瀏覽:975
中南大學新交互伺服器地址 瀏覽:350
安卓手機除了快捷鍵關機怎麼關 瀏覽:395
安卓街霸4怎麼玩 瀏覽:89
印度宣布加密貨幣 瀏覽:203
多多伺服器是什麼 瀏覽:476
域名注冊虛擬主機雲伺服器 瀏覽:12
深圳java程序員待遇 瀏覽:57
美團旗下推廣券的app是什麼 瀏覽:889