【问题标题】:How to set release/debug mode to compile a cpp file at a command prompt using Microsoft C++ toolset如何设置发布/调试模式以使用 Microsoft C++ 工具集在命令提示符处编译 cpp 文件
【发布时间】:2020-05-23 06:20:37
【问题描述】:

我有 a code 在 VS2019 版本 x86 模式下工作正常,但在调试模式下不行。有没有办法在命令行中使用发布模式功能?例如 CL 或 link.exe 的选项。 CL 命令行语法是

CL [选项...] 文件... [选项 |文件]... [lib...] [@command-file] [/link link-opt...]

以下是 MSVC 编译器选项列表: MSVC Compiler Options 有一些优化选项,例如 /O1 /O2,但它们不会产生与 VS 版本构建相同的结果。我在寻找错误的东西吗?提前感谢您的帮助。

更新

我发现我的代码的正确选项是 /MD 用于运行时库设置。因此,在命令提示符下使用以下行,复制了发布模式的结果:

>cl /MD app.cpp

【问题讨论】:

  • 如果你的代码不能在调试模式下工作,那可能是某个地方的未定义行为,并且通过以另一种方式编译来规避问题是一个非常糟糕的主意。发布模式不会修复错误,而只是通过取消运行时检查使问题变得更糟。
  • 我同意你的看法。我知道我的代码需要一些改进并且存在内存访问问题,但我认为 CL 会自动优化它,我只是想看看我是否可以在命令提示符下重现发布模式的结果。

标签: c++ visual-c++ visual-studio-2019 cl


【解决方案1】:

Visual Studio 的项目配置属性将准确地告诉您每个构建配置中使用了哪些编译器和链接器选项。见:https://docs.microsoft.com/en-us/cpp/build/working-with-project-properties?view=vs-2019

【讨论】:

  • 谢谢。我没有注意到 VS 配置属性中的广泛选项。我发现我的代码的正确选项是运行时库设置的 /MD(多线程 DLL)。
猜你喜欢
  • 1970-01-01
  • 2017-01-20
  • 2020-12-08
  • 1970-01-01
  • 2015-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多