【问题标题】:Running a C program written in Visual Studio 2013 on other pc在其他电脑上运行用 Visual Studio 2013 编写的 C 程序
【发布时间】:2015-08-04 18:20:51
【问题描述】:

每次我使用 Visual Studio 2013 编写 C 程序时,.exe 文件只在我的 PC 上运行。当我将该 .exe 文件复制到其他 PC 时,它无法运行。但如果我使用 Code Blocks IDE 代替 .exe 文件在所有 PC 上运行。为什么?以及如何使用“Visual Studio 2013”编写的“C 程序”在每台 PC 上运行?

【问题讨论】:

标签: c visual-studio visual-studio-2013 codeblocks


【解决方案1】:

因为是 2013 运行时库1,您需要下载可再发行组件并将其安装到目标计算机中。

您可以从here下载。


1如果您使用 VS 2013 ("v120") 平台工具集编译,则该文件称为 msvcr120.dll,否则遵循模式 msvcrNNN.dll

【讨论】:

  • 您还可以通过在Project Properties > C/C++ > Code Generation > Runtime Library 中指定它来静态链接运行时库,这可以简化部署(您不需要安装redist)但也会增大可执行文件的大小。
【解决方案2】:

在您的项目设置中,将运行时库支持更改为多线程 (/MT),而不是默认设置,即多线程 DLL (/MD)。这将导致您的 .exe 被静态链接,并且不需要在目标计算机上查找运行时库。 (我认为它在 C/C++ 代码生成下,但我当时没有安装 Visual Studio 2013 来验证这一点)。

生成的 .exe 会更大(因为它必须链接到您使用的运行时的所有部分),但它简化了在其他机器上的部署 - 无需安装 redist 包。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多