Qt5 库 裁剪 说明

说明:

1 5.8 及以上 略微有点变动 具体参考官网  https://doc.qt.io/QtForDeviceCreation/qt-configuration-tool.html

2 4.8 版本的官方说明 http://doc.qt.io/archives/qt-4.8/fine-tuning-features.html

3 4.8 版本的非官方具体操作流程 https://www.kancloud.cn/lichee/lpi0/425607

 


 以下是依据 4.8 版本结合 Qt5.7 进行说明 Qt5.7 裁剪的一个具体流程

 

1、编译 qconfig

默认情况下,电脑上是没有 qconfig 执行文件,你需要使用桌面版的 qmake 编译这个文件

我的文件路径:qt-everywhere-opensource-src-5.7.1/qttools/src/qconfig 目录下(如果没有你可以执行 find . -name "qconfig")

 

具体操作:

注:假设终端所在目录 qt-everywhere-opensource-src-5.7.1 

cd qttools/src/qconfig

/home/d/Qt5.7.1/5.7/gcc_64/bin/qmake

make

可能遇到以下问题:

1 提示以下错误

expected class-name before '{' token

'Q_OBJECT' does not name a type

'signals' does not name a type 

 

找到目标文件(我这里是 feature.h),缺少 QObject 头文件,还有就是语法错误

添加 #include <QObject>

 

举例:

 : key(k), enabled(true), selectable(true) {}; //去掉 ; 即可 如 : key(k), enabled(true), selectable(true) {}

 

2 找不到库 

libicui18n.so.56, needed by /home/xx/Qt5.7.1/5.7/gcc_64/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)

libicuuc.so.56, needed by /home/xx/Qt5.7.1/5.7/gcc_64/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)

libicudata.so.56, needed by /home/xx/Qt5.7.1/5.7/gcc_64/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)

 

只要将 Qt 的库加入 LD_LIBRARY_PATH 中即可

以下以 个人 配置文件 .bashrc 为例

vim ~/.bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xx/Qt5.7.1/5.7/gcc_64/lib 

source ~/.bashrc

2、找到执行完成的 qconfig 文件 (我的默认在 qttools/bin 下)

./qconfig

需要打开基准文件位置:qtbase/src/corelib/global/qfeatures.txt

然后勾选你需要的控件,选择完成之后,另存为 qconfig-xxx.h 格式即可(需要将 qconfig-xxx.h 文件放置在 qtbase/src/corelib/global/ 目录下 )

 

3、执行的时候加上一条指令即可

./configure -qconfig qconfig-xxx.h

其余配置不做说明

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值