您好,登录后才能下订单哦!
# 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官方存档或镜像站获取:
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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。