【问题标题】:Visual Studio 2017 C++ Exe for any pc (linking vcruntime140.dll)适用于任何 pc 的 Visual Studio 2017 C++ Exe(链接 vcruntime140.dll)
【发布时间】:2017-10-08 05:52:58
【问题描述】:

我对 C++ 中的 GUI 编程非常陌生,因此我没有那么多经验。

我使用 Visual Studio 2017 CRL 包为我的程序创建了一个 GUI,现在我正试图让这个 exe 可供所有人使用。 该应用程序适用于安装了 Visual Studio 或 VC Runtime 的用户,但对于那些未安装该程序的用户会抛出类似:“您的计算机上缺少运行此应用程序的 vcruntime140.dll”。 我不确定如何在我的程序中链接这些 dll,以便每个人都可以使用它。 我也不确定如何链接 dll。

【问题讨论】:

  • 谢谢。是的,C++/CLI 的结构看起来与传统的 C++ 不同。我之所以选择它,是因为我真的不知道如何创建一个好看的 GUI。也许我应该尝试在没有这个工具的情况下从头开始构建我的 GUI。

标签: c++ visual-studio user-interface


【解决方案1】:

基本上有两种选择。

行业标准是将 Visual Studio 20xx Runtime Redistributable Installer 与您的程序一起提供,并在任何人尝试自己运行您的程序之前运行它,以确保将 .dll 文件安装到目标计算机上。

另一个选项是在编译时更改库链接到可执行文件的方式。这是通过 Visual Studio 中的标志完成的:

基本上,您希望将 Runtime Library 字段更改为 Multi-ThreadedMulti-Threaded Debug,具体取决于您是否重新处于发布或调试模式,而不是默认的“多线程 DLL”。

但是请注意,您需要确保您使用的每个库都以相同的方式编译:如果它们中的任何一个是使用运行时库的 DLL 版本编译的,它们将与您的代码互操作有趣的方式,而您的问题最少是他们无论如何都需要安装 DLL,这会挫败您的努力。

当然,如果您的所有库都是 Header-Only,这不是问题,但如果其中任何一个都已编译,那么您需要使用正确的设置重新编译它们。

【讨论】:

    【解决方案2】:

    您需要在机器上安装 Visual Studio 2017 可再发行组件(这就是它适用于每个版本的 Visual Studio 的方式)。

    但是,我在微软网站上找不到任何官方链接(可能是因为尚未正式发布)....

    您可能需要使用 2015 版本(可再发行版 here)并等待 2017 成为正式版本。

    【讨论】:

      猜你喜欢
      • 2021-02-25
      • 2010-10-20
      • 1970-01-01
      • 2018-04-08
      • 2017-04-27
      • 2018-03-16
      • 1970-01-01
      • 2013-09-27
      • 1970-01-01
      相关资源
      最近更新 更多