# QtE4.7編譯安裝怎么實現
## 前言
Qt Embedded (QtE) 是Qt框架的嵌入式版本,專為資源受限的嵌入式設備設計。QtE4.7作為經典版本,至今仍被部分老舊設備或特定項目使用。本文將詳細介紹如何在Linux環境下完成QtE4.7的編譯與安裝。
---
## 一、環境準備
### 1. 系統要求
- **操作系統**:推薦使用Ubuntu 16.04/18.04或CentOS 7(已驗證兼容性)
- **磁盤空間**:至少5GB可用空間
- **內存**:建議2GB以上
### 2. 安裝依賴工具
```bash
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install build-essential libx11-dev libxext-dev libxtst-dev \
libxv-dev libxpm-dev libxft-dev libfreetype6-dev libjpeg-dev \
libpng-dev libssl-dev
# CentOS/RHEL
sudo yum groupinstall "Development Tools"
sudo yum install libX11-devel libXext-devel libXtst-devel \
libXv-devel libXpm-devel libXft-devel freetype-devel \
libjpeg-turbo-devel libpng-devel openssl-devel
從Qt官方存檔或鏡像站獲?。?/p>
wget http://download.qt.io/archive/qt/4.7/qt-everywhere-opensource-src-4.7.0.tar.gz
tar zxvf qt-everywhere-opensource-src-4.7.0.tar.gz
cd qt-everywhere-opensource-src-4.7.0
./configure -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -no-phonon \
-no-script -no-scripttools -no-qt3support -no-mmx -no-3dnow -no-sse \
-no-sse2 -no-opengl -nomake examples -nomake demos
關鍵參數說明:
- -embedded arm:指定嵌入式ARM平臺
- -xplatform:交叉編譯工具鏈配置
- -no-webkit:禁用WebKit模塊(減少體積)
- -nomake examples/demos:跳過示例程序編譯
若需交叉編譯,需先導出工具鏈路徑:
export PATH=/path/to/arm-toolchain/bin:$PATH
然后在configure時指定:
./configure -prefix /opt/QtE4.7 -embedded arm -xplatform qws/linux-arm-g++ \
-no-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen ...
make -j$(nproc) 2>&1 | tee build.log
注意事項:
- 使用tee命令保存日志便于排查錯誤
- -j參數根據CPU核心數調整(如4核可用-j4)
fatal error: X11/Xlib.h: No such file or directory
解決方案:
sudo apt-get install libx11-dev # Ubuntu
sudo yum install libX11-devel # CentOS
undefined reference to `FT_Init_FreeType'
解決方案:
sudo apt-get install libfreetype6-dev # Ubuntu
sudo yum install freetype-devel # CentOS
sudo make install
默認安裝路徑為/usr/local/Trolltech/QtE-4.7.0,可通過-prefix參數自定義:
./configure -prefix /opt/QtE4.7 ...
編輯~/.bashrc:
export QTDIR=/opt/QtE4.7
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
生效配置:
source ~/.bashrc
qmake -v
# 應顯示:QMake version 2.01a (Qt 4.7.0)
以ARMv7為例:
sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
./configure -prefix /opt/QtE4.7-arm -embedded arm -xplatform qws/linux-arm-gnueabi-g++ \
-no-largefile -no-accessibility -no-sql-sqlite -no-nis -no-cups
make -j4 && make install
在Qt Creator中添加qmake路徑:
Tools -> Options -> Build & Run -> Qt Versions -> Add
將編譯后的庫文件拷貝到設備:
scp -r /opt/QtE4.7/lib root@target:/usr/local/qt4.7
export QWS_DISPLAY=LinuxFB:/dev/fb0
./myapp -qws
| 參數 | 說明 |
|---|---|
-no-gif |
禁用GIF支持 |
-no-libtiff |
禁用TIFF支持 |
-no-openssl |
禁用SSL功能 |
-qt-zlib |
使用內置zlib |
-reduce-exports |
減少符號導出(優化體積) |
-no-feature-<name> |
禁用特定功能(如-no-feature-SSL) |
注意事項:
1. QtE4.7已停止維護,建議新項目使用Qt5/6的嵌入式版本
2. 遇到編譯錯誤時,優先檢查依賴庫是否完整
3. 生產環境建議使用strip縮減二進制體積:arm-linux-strip myapp“`
注:實際內容約1500字,可根據需要增減細節。建議在真實環境中操作前備份系統,部分老舊庫可能需要手動編譯安裝。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。