在搜索和尝试了几个小时之后,我无法获得如何静态地将库链接到我的exe。因此,我试图将依赖项复制到exe文件夹中。我做了一个测试程序,只要点击一个按钮就可以改变标签。是14毫巴。我该怎么办?我使用icudt51.dll using 51.dll icuuc51.dll libgcc_s_dw2-1.dll libstdc++-6 dw2 libwinp线程-1.dll Qt5Core.dll Qt5Gui.dll Qt5Widgets。
发布于 2013-09-22 17:24:41
我看到的唯一可能是使用upx压缩您的可执行文件。你甚至不会注意到其中的区别。它能如此快地解压缩和执行你的程序。
http://upx.sourceforge.net/
发布于 2013-09-23 13:30:57
对于您的问题,有许多解决方案:
1-使用Qt 4.8.5,Qt 5与Qt 4.8之间无明显差异。它将对您有所帮助,因为QT4.8.5不是在默认支持QtWebkits的情况下编译的,这意味着不依赖icudt51.dll icuin51.dll icuuc51.dll文件。
2-如果您希望使用Qt 5,您将需要在禁用webkit的情况下重新编译它,这也将使您摆脱上述依赖关系。有关详细信息,请查看以下内容:帖子
发布于 2013-09-24 02:16:00
如果您想以静态方式链接QT5.1.1(没有第三方补丁),它只适用于源代码中的构建。影子静态构建由于zlib克隆中的一个错误而失败。一个upx编辑的只使用小部件的简单可执行文件将在5mb以下,更像是3mb。对于Qt5和Qt4,它是大致相同的。我正在使用MSVC2012静态地编译这两个程序,它工作得很好。这些都是完整的静态构建,这意味着Qt库是静态的,C/C++运行时也是静态的。唯一的依赖项是系统DLL。让每个人的生活变得简单,尽管发布版构建可能需要几分钟时间,而忘记了在32位系统上构建。
静态构建的可执行文件的启动时间是惊人的。它几乎是瞬间的:)
https://stackoverflow.com/questions/18946508
复制相似问题