我分享了这个相同的目标。我想“缩小”Qt,只构建一小部分库/ DLL并省略其余部分。
我确实成功了,至少在Mac OS X上。我认为这种方法也适用于其他平台。
我认为诀窍是为“配置”脚本找到某种排除标志,但事实证明情况并非如此。
这里是我做过什么:
下载源分布(在我的情况,QT-比比皆是 - 开源-SRC-5.1.1)。当然,提取一切。
编辑以下三个“专业”文件。这些文件是以qt特定的格式(但纯文本)。他们是平台无关的项目文件,Qt(通过qmake)用来生成makefile。
qtbase/SRC/src.pro
qtbase/SRC /插件/ plugins.pro
qtbase /示例/ examples.pro
我对“pro”文件所做的所有更改均为删除。我删除了:dbus,ipc,network,qtconcurrent,sql,xml,sqldrivers,qdbusxml2cpp,qdbuscpp2xml,src_dbus,src_concurrent,src_sql,src_network。
最后一部分听起来很可怕。它确实不是。
pro文件包含模块名称,插件名称和目录名称的列表。如何删除(例如)所有与SQL相关的行似乎相当简单。
第3步:
通常配置/制作/安装。但是,请注意通过使 “模块qtbase” 的说法:
./configure -prefix ~/my_test_dir/
make -j2 module-qtbase
make -j2 module-qtbase-install_subtargets
成功。这只是构建和安装必需品(QtCore,QtGui,QtOpenGL,QtWidgets)并跳过所有支持的dylib,如QtConcurrent,QtMultimedia,QtSql和QtWebKit。