如何减小 Qtgui4.dll 的大小?
how to reduce qtgui4.dll's size?
我在Windows上使用qt4来绘制一些简单的UI,我已经用vs2010编译了它,我得到了qtcore4.dll(2.43mb(和qtgui4.dll(8.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程序的大小?或者像qt这样的窗口上还有其他一些稳定、记录和易于使用的c++UIframe?
Qt 5.7及更低版本的自定义编译没有多大帮助。
在我的测试中,静态编译并没有产生低得多的二进制文件,即使进行了所有可能的优化和剥离。
然而,Qt5.8说了以下内容:
Qt 5.8带有重写的配置系统,可以轻松自定义Qt构建。此功能的主要重点是设备创建,但它也可用于为移动设备或桌面定制Qt构建。该系统允许从Qt中删除单个功能和API,从而创建一组更轻量级的库用于部署。
新功能 Qt5.8
因此,移植到 Qt5.8 应该非常容易,并且可以减少您的总封装大小。
以下是您应该在单个 5MB 可执行文件中容纳的内容:使用 GUI 和网络模块(包括 OpenSLL 和静态链接的 C++运行时(的静态链接、upx 压缩的 Qt 4.8 hello world,使用 LTCG 使用 VS2012 或更高版本编译。这样的可执行文件除了Windows本身之外没有任何依赖关系 - 您甚至不需要安装MSVC运行时。这比您目前拥有的要小几倍。无需对Qt本身进行任何更改/功能选择。
相关文章:
- 挂起和取消挂起一个文件DLL
- std::threads可以从Windows DLL中的全局变量创建/销毁吗?
- 导入库可以跨dll版本工作吗
- 从C++dll访问C#中的一行主要参数
- 链接到自行创建的dll失败
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- Python中的for循环与C++有何不同
- 如何将图像传输到c++(dll)中的缓冲区,然后在c#的缓冲区中读/写
- C++:将外部库链接到dll库
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 不同的Visual Studio版本中缺少.dll
- 从DLL中删除类的实例
- 如何包装第三方DLL在R中使用
- 使用c#访问c++dll中带有char*参数的函数时发生AccessViolationException
- 系统.将数组移交给c#中动态加载的c++DLL时发生AccessViolationException
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 如何减小 Qtgui4.dll 的大小?