【发布时间】:2021-12-30 06:57:01
【问题描述】:
我正在使用 Qt C++ 构建一个应用程序,我希望它可以在 Windows 计算机上运行,而无需安装 VC Redistributables。显然,当用户尝试运行应用程序时,会弹出一个错误提示 VCRUNTIME140.dll 丢失。
【问题讨论】:
-
VC Redistributables 不仅涉及 Qt 应用程序,还涉及任何已编译的 C++ 应用程序(在 Windows 上)。我相信无论如何都有必要要求用户预先安装 redist 或将它们包含在安装程序中以防它们丢失。 (当然,我们更喜欢后者,因为这对用户来说更方便。)
-
仅供参考:MS: Choosing a Deployment Method 也许,我低估了这可能是 MSVC 特定问题的事实。 (我们从未在 Windows 上使用过其他任何东西。)不确定 MinGW 是否可以成为出路。但是,我也不确定这是否值得麻烦。在 MinGW 中编译也会产生问题...
-
我只是将可再发行组件打包到基于 NSIS 的安装程序中,我有 CMake 为我的基于 Qt 的应用程序生成该安装程序。在大多数情况下,不需要安装可再发行组件,但它会在需要时安装。
-
@Scheff'sCat 对于在 Windows 上/为 Windows 编译的每个 C++ 应用程序,这绝对不是真的。例如,如果您使用 GCC 而不是 MSVC 进行编译,则不依赖于 VC Redistributable。
-
@Eric 这是我在2nd comment 中提到 MinGW 时提到的内容。我必须承认我对 MinGW 的经验非常少。 ;-)