如何获取在 Visual Studio 中发送到 cl.exe 的命令行参数?

How to grab what command line parameters are being sent to cl.exe in Visual Studio?

所以我试图找出在 Visual Studio 2013 年构建项目时向 cl.exe 发送了哪些命令行参数。

我需要这个用于仅使用实际 cl.exe 并通过文本文件发送参数的副项目。

例如:

/Zc:wchar_t /fp:precise /D "WIN32" /D "_CONSOLE" /D "_LIB" /D "_UNICODE" /D "UNICODE" /EHsc /Od /MT *.cpp kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /link /FORCE:MULTIPLE /OUT:Output.exe

在用于 cl.exe 的文本文件中。

然而,使用 cl.exe 编译程序的时间只有一半。该程序将锁定或崩溃。

使用 F7(构建)编译 Visual Studio 中的程序 100% 的时间都有效,所以我唯一能想到的是为什么它在 cl.exe 上不起作用和崩溃是因为我有错误的参数。

从项目属性页面获取命令行有两种方式:

  1. 在 C/C++ 部分有一个 "Command Line" 小节列出了将使用的命令行(不带文件名参数)。
  2. 在通用小节的 C/C++ 部分,将 "Suppress Startup Banner" 更改为 "No"。然后,这将在构建时在输出 window 中打印用于每个源文件的命令行。