QtE4.7编译安装怎么实现

发布时间:2021-12-15 09:53:55 作者:iii
来源:亿速云 阅读:169
# 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

3. 下载源码包

从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

二、配置编译选项

1. 基础配置

./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:跳过示例程序编译

2. 交叉编译配置(可选)

若需交叉编译,需先导出工具链路径:

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 ...

三、编译与安装

1. 执行编译

make -j$(nproc) 2>&1 | tee build.log

注意事项: - 使用tee命令保存日志便于排查错误 - -j参数根据CPU核心数调整(如4核可用-j4

2. 常见编译错误处理

错误1:缺少头文件

fatal error: X11/Xlib.h: No such file or directory

解决方案

sudo apt-get install libx11-dev  # Ubuntu
sudo yum install libX11-devel    # CentOS

错误2:链接失败

undefined reference to `FT_Init_FreeType'

解决方案

sudo apt-get install libfreetype6-dev  # Ubuntu
sudo yum install freetype-devel       # CentOS

3. 安装到系统

sudo make install

默认安装路径为/usr/local/Trolltech/QtE-4.7.0,可通过-prefix参数自定义:

./configure -prefix /opt/QtE4.7 ...

四、环境配置

1. 添加环境变量

编辑~/.bashrc

export QTDIR=/opt/QtE4.7
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

生效配置:

source ~/.bashrc

2. 验证安装

qmake -v
# 应显示:QMake version 2.01a (Qt 4.7.0)

五、交叉编译示例

1. 准备交叉工具链

以ARMv7为例:

sudo apt-get install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf

2. 配置QtE

./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

3. 编译安装

make -j4 && make install

六、应用部署

1. 开发环境配置

在Qt Creator中添加qmake路径:

Tools -> Options -> Build & Run -> Qt Versions -> Add

2. 目标设备部署

将编译后的库文件拷贝到设备:

scp -r /opt/QtE4.7/lib root@target:/usr/local/qt4.7

3. 运行应用

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字,可根据需要增减细节。建议在真实环境中操作前备份系统,部分老旧库可能需要手动编译安装。

推荐阅读:
  1. 编译安装redis
  2. mysql编译安装及其它

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

qt

上一篇:结构化Kafka sql的代码框架是怎样的

下一篇:golang刷leetcode技巧之如何实现数字流的秩

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》