如何将所有库和依赖项打包到C++;项目 我正在用C++来处理一个项目,并使用QT框架来帮助我。然而,我正在处理一些恼人的问题,我希望有人能在这里帮助我。这是我到目前为止所拥有的” 我用Qt创建了C++应用程序 编译我的应用程序并发送最终的.exe文件
我还安装了一个单独的非开发操作系统来测试我的应用程序。在测试操作系统上,我只需安装Qt库,我的应用程序就可以正常运行 但我的应用程序的一些用户在运行应用程序时遇到问题。其中一些用户安装了Qt,但应用程序仍然找不到所需的.dll文件,或者如果他们安装了Qt fine,则应用程序仍然失败,因为Qt本身有其他依赖项。或者他们是64位的,但我的应用程序是32位的…因此他们的64位Qt库不适用于我的应用程序 因此,我想做的基本上是得到一个树,其中包含了我的应用程序顺利运行所需的所有.dll文件,并将它们作为.exe应用程序的一部分 当然,文件大小将增加,但至少我会放心知道,应用程序拥有它所需要的一切 <>我在阅读关于静态/动态链接等的更多信息。但是在C++世界里有点不同。有C++中的系统,类似于java,在那里你指定了库,在编译过程中C++将把必要的库复制到最终产品上? 会显示你需要传递的所有DLL以及如何将所有库和依赖项打包到C++;项目 我正在用C++来处理一个项目,并使用QT框架来帮助我。然而,我正在处理一些恼人的问题,我希望有人能在这里帮助我。这是我到目前为止所拥有的” 我用Qt创建了C++应用程序 编译我的应用程序并发送最终的.exe文件,c++,windows,qt,qt5,C++,Windows,Qt,Qt5,我还安装了一个单独的非开发操作系统来测试我的应用程序。在测试操作系统上,我只需安装Qt库,我的应用程序就可以正常运行 但我的应用程序的一些用户在运行应用程序时遇到问题。其中一些用户安装了Qt,但应用程序仍然找不到所需的.dll文件,或者如果他们安装了Qt fine,则应用程序仍然失败,因为Qt本身有其他依赖项。或者他们是64位的,但我的应用程序是32位的…因此他们的64位Qt库不适用于我的应用程序 因此,我想做的基本上是得到一个树,其中包含了我的应用程序顺利运行所需的所有.dll文件,并将它们作
人们通常使用打包程序来实现这一点,您还可以使用打包程序设置环境变量并摆弄注册表您应该在可执行文件的发布版本中放置Qt dll。它们是QtCore4.dll、QtGui4.dll(Qt5Core.dll、Qt5Gui.dll等,用于Qt5)这些dll文件位于您安装的Qt目录的bin文件夹中 如果您使用的是MSVS2010,还应放置msvcr100.dll和msvcp100.dll 如果您正在使用插件,则应将其dll放在E exe旁边名为“plugins”的文件夹中。如果使用图标和图像,则应将其dll(如qico4.dll和qsvg4.dll)(qico.dll和qsvg.dll,用于Qt5)放在名为“imageformats”的文件夹中