为嵌入式重新编译QT的问题

为嵌入式重新编译QT的问题


使用QT多年,在各环境下使用的都是安装版本,为了解决传说中的预编译版本缺少插件的问题,还是准备自行编译QT,根据供应商提供的手册,折腾了两个周的时间,上树爬墙,印象深刻。

编译安装主要是两个步骤:

  1. 对tslib的编译,这个问题不大,但在之后产生了各种纠结,对这个文件的关键就是:
  • 交叉编译

  • 静态生成.a文件

  • 可以使用file查看文件的状态,确认符合第2步的使用

```

rm -rf /home/xxx/qt-tools/tslib-1.15

验证

pkg-config --cflags tslib # 应该失败

pkg-config --libs tslib # 应该失败

重新编译

cd tslib-1.15

export CC=arm-linux-gnueabihf-gcc

export SYSROOT=/home/xxx/qt-tools/sysroot

./configure \

--host=arm-linux-gnueabihf \

--prefix=/usr \

--enable-static \

--disable-shared \

CC="CC --sysroot=SYSROOT"

make clean

make -j$(nproc)

make DESTDIR=/home/xxx/qt-tools/sysroot install

验证

ls $SYSROOT/usr/lib/libts.a

ls $SYSROOT/usr/include/tslib.h

ls $SYSROOT/usr/lib/pkgconfig/tslib.pc

```

还要确认,以下正常

```

pkg-config --cflags tslib

pkg-config --libs tslib

```

  1. QT的编译,过程中多次情况是在提示tslib存在问题

```

错误信息: ERROR: Feature 'tslib' was enabled, but the pre-condition 'libs.tslib' failed.

```

在各种验证正常后的各种无奈中,放下了两天,再次拾起问题依旧。

解决方法:

  1. 厂商提供的编译方式,是原地构建或叫并行构建,生成的临时文件会污染源码,这是查询资料说的,事实证明,两周的时候大部分是耗在这里的;

  2. 改用影子构建,单独设置一个编译目录,再安装,它居然过了。

相关推荐
金色熊族4 小时前
解析QTransform的用法
qt
追烽少年x7 小时前
Qt多线程编程:QThread与QtConcurrent的对比与应用
qt
小短腿的代码世界21 小时前
Qt实时盈亏计算深度解析:从持仓数据到动态盈亏展示
开发语言·qt
Python私教1 天前
GenericAgent PySide6 桌面应用深度解析:悬浮按钮 + 聊天面板的原生 Qt 方案
开发语言·数据库·qt
用户805533698031 天前
现代Qt开发教程(新手篇)1.11——定时器
c++·qt
小短腿的代码世界1 天前
Qt券商接口封装深度解析:统一API设计与多源适配
开发语言·qt·单元测试
T0uken1 天前
基于 vcpkg 与 LLVM-MinGW 的 Qt6 静态链接开发方案
c++·windows·qt
Ulyanov1 天前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》 开发环境搭建与工具链极简主义 —— 拒绝臃肿,构建工业级基座
开发语言·python·qt·ui·架构·系统仿真
(Charon)1 天前
【C++/Qt】Qt 实现 MQTT 测试工具:连接 Broker、订阅主题与发布消息
开发语言·c++·qt
Ulyanov1 天前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》:动态数据仪表盘与 NumPy 可视化 —— 从标量到向量的数据驱动进化
开发语言·python·qt·架构·numpy