首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QT5.1的模块及其相互依赖?

QT5.1的模块及其相互依赖?
EN

Stack Overflow用户
提问于 2013-08-19 16:46:09
回答 3查看 2.3K关注 0票数 3

我正在寻找一种方法来创建一个最小的QT5.1静态构建。所谓最小值,我指的是只有可用的基本小部件类集的构建(包括通过OpenGL画布/小部件进行2D图形加速)。我的目标是在Windows 7上构建一个32位的静态版本,使用MinGW-建造GCC 4.8.1以及它们的MSYS和工具包。

我已经下载了整个源代码树,并且由于OpenSSL和ICU等包的依赖性(最新的OpenSSL没有编译),在编译过程中遇到了一些问题。我想知道,如果我能避免这些包的依赖,同时实现QT5.1的最小静态构建,那么我的最终可执行文件的大小就不会太大了。

我看了一下这个列表:版本/qt/5.1/5.1.0/子模块/

Q1:在这些模块中,我需要选择哪些模块才能构建一个基本的Qt,而不需要所有花哨的东西?

Q2:这些模块在某种程度上相互依赖(我假设它们都依赖于"qtbase")?

Q3:我是否使用该列表中的名称(例如:"qtxmlpatterns“、"qtx11extras”、"qtwebkit“等)来取消在Qt构建的配置中选择它们?

这也很好,解释了Qt 5的各个子模块吗?如果有人能指出任何链接或文档与这一主题的说明性的话,这也将是伟大的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-11 02:21:24

我也有同样的目标。我想“缩小”Qt,只构建库/DLL的一小部分,而忽略其余的部分。

我确实成功了,至少在Mac上是如此。我认为这种方法也能在其他平台上工作。

我认为诀窍是为“配置”脚本找到某种类型的排除标志,但事实证明并非如此。

以下是我所做的:

  1. 下载源代码发行版(在我的例子中,是qt-everywhere-opensource-src-5.1.1). )当然,把它全部提取出来。
  2. 编辑以下三个“专业”文件。这些文件采用特定于qt的格式(但纯文本)。它们是与平台无关的项目文件,Qt (通过qmake)使用这些文件生成makefile。
代码语言:javascript
复制
- **qtbase/src/src.pro**
- **qtbase/src/plugins/plugins.pro**
- **qtbase/examples/examples.pro**

我对"pro“文件所做的所有更改都是删除的。我删除了对以下几个方面的引用:dbus、ipc、network、qtconcurrent、sql、xml、sqldrivers、qdbusxml2cpp、qdbuscpp2xml、src_dbus、src_concurrent、src_sql、src_network

最后那部分可能听起来很吓人。真的不是。

pro文件包含一个模块名、插件名和目录名的列表。如何删除(例如)所有与SQL相关的行似乎相当简单。

步骤3.

通常的配置/make/install。但是,请注意传递的"module-qtbase“参数:

代码语言:javascript
复制
./configure -prefix ~/my_test_dir/
make -j2 module-qtbase
make -j2 module-qtbase-install_subtargets

成功。它只构建和安装了基本要素(QtCore、QtGui、QtOpenGL、QtWidgets),并跳过了QtConcurrent、QtMultimedia、QtSql和QtWebKit等所有支持的dylib。

票数 0
EN

Stack Overflow用户

发布于 2013-09-03 18:20:51

ICU可以静态链接,您可以自定义它(请参阅文档)以减小大小。默认情况下,数据也很大,我不知道您需要多少数据。您只能包含以一种语言运行的足够的数据。

只是答案的一部分。

票数 0
EN

Stack Overflow用户

发布于 2013-09-03 21:05:10

没有必要禁用Qt模块。每个使用Qt的应用程序都决定它使用和链接哪些模块。只有控制台的基本应用程序可以只使用核心模块。这就是在Qt中创建web服务时使用的内容。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18318955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档