【问题标题】:Exe file from a console project in Visual Studio?来自 Visual Studio 中控制台项目的 Exe 文件?
【发布时间】:2020-01-27 17:15:57
【问题描述】:

我想在没有任何 IDE 的第二台机器上执行 C++ 程序。

我尝试启动位于项目调试文件夹中的 .exe 文件,并在 this guide 之后生成一个 .exe 文件。

两个 .exe 都给了我相同的错误(手动启动并从提示中启动):

The program can’t start because
 - VCRUNTIME140D.dll
 - MSVCP140D.dll
 - VCRUNTIME140_1D.dll
 - ucrtbased.dll
is missing from your computer. [...]

所以我尝试从 there 卸载并重新安装 Microsoft Visual C++ Redistributable per Visual Studio 2015、2017 e 2019,但仍然出现相同的错误。

我错过了什么?如何在不安装整个 Visual Studio IDE 的情况下运行它?感谢您的宝贵时间。

【问题讨论】:

  • 您需要在构建项目时静态链接所需的库。否则,它假定它们可以通过现有的 DLL 动态使用。查看您的项目属性。
  • 之前从来没有导出过项目,所以不知道去哪里找项目属性。你有什么指南可以推荐我获得一个工作的 .exe 吗?
  • 在菜单下查看:“项目 > 属性” :) 影响“导出”项目的不仅仅是几个项目。如果你在 VS 中创建项目,你应该熟悉它。
  • 是的,在我发表评论后发现:P Advanced > Use MFC in static Library 并且它有效。非常感谢您的宝贵时间! :)

标签: c++ windows cmd exe visual-studio-2019


【解决方案1】:

您需要将您的程序编译成发布 exe 文件。除非安装了 Visual Studio,否则使用 Debug 编译程序将永远无法在任何设备上运行。

为什么会这样?

如果您选择调试,在程序运行之前它会加载一些 DLL 文件以便在 Visual Studio 中进行调试。现在,在其他机器上可能没有安装 Visual Studio,所以它找不到 DLL 文件,所以它无法启动。但是Release,就像它的名字一样,当你想把你的程序发送给朋友或者在另一台电脑上使用它或者在互联网上分享它时,使用Release。但是,如果您正在测试错误并且仍在处理程序,请使用 Debug。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    相关资源
    最近更新 更多