Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何减少qtgui4.dll的大小?_C++_Qt - Fatal编程技术网

C++ 如何减少qtgui4.dll的大小?

C++ 如何减少qtgui4.dll的大小?,c++,qt,C++,Qt,我正在windows上使用qt4绘制一些简单的ui,我使用vs2010编译了它,得到了qtcore4.dll2.43mb和qtgui4.dll8.04mb。以下是我的配置参数: configure -platform win32-msvc2010 -fast -release -opensource -shared -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-qt3support -no-webkit -no- phono

我正在windows上使用qt4绘制一些简单的ui,我使用vs2010编译了它,得到了qtcore4.dll2.43mb和qtgui4.dll8.04mb。以下是我的配置参数:

configure -platform win32-msvc2010 -fast -release -opensource -shared -qt-zlib
-qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-qt3support -no-webkit -no-
phonon -no-script -no-scripttools -qt-style-windowsxp -qt-style-windowsvista -
nomake examples -nomake docs -nomake demos

我知道有一个名为qconfig的工具可以进行精确的自定义配置。但这似乎只适用于嵌入式系统。我应该怎么做来减小我的qt程序的大小?或者在Windows QT?<有其他一些稳定的、文档化的、易于使用的C++ UIframes。p> Qt 5.7及以下版本的自定义编译没有多大帮助

在我的测试中,静态编译并没有产生低很多的二进制代码,即使进行了所有可能的优化和剥离

然而,Qt5.8表示:

Qt5.8带有一个重写的配置系统,可以轻松定制您的Qt构建。此功能的主要焦点是设备创建,但也可用于为移动或桌面定制Qt构建。该系统允许从Qt中删除单个功能和api,从而创建一组更轻量级的库用于部署


,因此移植到Qt5.8应该相当简单,可以减少您的总包大小。

< P>这里您应该适合于一个5MB可执行文件:静态链接的Upx压缩QT 4.8 Hello World使用GUI和网络模块,包括OpenSLL和静态链接C++运行时,用VS2012编译或使用LTCG更新。这样的可执行文件除了Windows本身之外,对任何东西都没有依赖性——您甚至不需要安装MSVC运行时。这比你现在拥有的要小几倍。不需要对Qt本身进行任何更改/功能选择。

我认为您无法将其减少很多;按照Qt的标准,8.04MB已经相当小了。如果你真的想最小化Qt的库大小,你可以考虑升级到QT5.8;他们花了一些时间在新的工具QtLite上,这些工具允许您减少Qt的发行量,对于那个版本:您考虑过静态链接吗?