【问题标题】:C++ program not running on windows systems without VS installed "VCRUNTIME140.dll was not found"C++ 程序无法在未安装 VS 的 Windows 系统上运行“未找到 VCRUNTIME140.dll”
【发布时间】:2019-12-27 00:47:26
【问题描述】:

当我编译一个简单的程序时:

#include <iostream>

using namespace std;
void main() {
    cout << "Hello world!";
}

在另一个未安装 Visual Studio 的系统上调整编译后的 .exe,我收到以下错误:

The Code execution cannot proceed because VCRUNTIME140.dll was not found. Reinstalling the program may fix the problem.

当我用 cl.exe 编译时,我没有收到任何错误, 有没有人知道在系统上不安装 VCRUNTIME140.dll 的解决方法。 (我已经在多个 Windows 系统上进行了测试,包括一个 Windows 虚拟机)

【问题讨论】:

  • 您需要安装 C++ 运行时库。通常 VS 带有可再发行安装程序,但您也可以从他们的网站下载。 Download link。它是必需的,因为任何用 VS 编译的 C 或 C++ 程序都依赖于它们。或者,您也只需复制所有必需的文件。

标签: c++ visual-studio cl


【解决方案1】:

我以前遇到过这个问题,有一个简单的解决方案,

缺少的 .dll 是静态链接不缺少包的问题(在大多数情况下), 因为 Visual Studio 2019 预装了你需要的东西。

修复: 转到您的项目属性(在项目选项卡中) 选择 C/C++ 将运行时库的值更改为“多线程调试(/MTd)”

这将导致编译器将运行时嵌入到应用程序中。 可执行文件会大得多,但它无需任何运行时 dll 即可运行。

【讨论】:

  • 您所描述的称为与 C++ 运行时的“静态链接”。我忘记在我自己的答案中包含该选项。但要修改您的建议,我建议仅将调试版本与/MTd 链接。发布版本应与/MT(多线程)链接。
  • 欢迎来到 Stack Overflow。这是您对未来更多人的第一次支持。
  • python selbie 怎么样? stackoverflow.com/questions/59496003/…
  • 这是一个完全不同的问题。
  • 但我还是回答了,因为我是个好人。 :)
【解决方案2】:

为您的 Visual Studio 版本获取“Visual Studio 20xx VC++ Redistributable package”。然后在目标机器上运行安装。

本页底部:https://visualstudio.microsoft.com/downloads/

或旧版 Visual Studio 的页面底部:https://visualstudio.microsoft.com/vs/older-downloads/

【讨论】:

    【解决方案3】:

    我也遇到过同样的问题,主要是因为最初用 C++ 编译某些东西并将其转换为 exe 文件时,它仍然是一个依赖于 C++ 库的 exe 文件。

    但是根据 asd plourgy 的说法,他有一个改变运行时库值的好主意,我想与寻求知识的人分享我是如何解决它的:

    转到您的 Visual Studio Code 并按照以下步骤操作:

    1. 点击项目
    2. 属性
    3. 滚出 C/C++
    4. 所有选项
    5. 运行时库
    6. 将值更改为:“多线程-DLL (/MD)”。

    这应该可以解决问题。之后,你显然必须

    1. 保存
    2. 调试
    3. 新建(exe)
    4. 打开 cmd 并运行 exe 以确保其正常工作。

    我的系统是:Windows 10

    这里有几张图片可以简化步骤,不过是德语:
    第一步:

    第二步:

    第三步:

    第四步:

    第五步:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2013-08-17
      • 2021-01-18
      • 1970-01-01
      相关资源
      最近更新 更多