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

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

本文关键字:cl exe 参数 命令行 Visual Studio 获取      更新时间:2023-10-16

因此,当您构建项目时,我正试图弄清楚哪些命令行参数被发送到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编译程序的时间只有一半。程序将锁定或崩溃。

在Visual Studio中用F7(Build)编译该程序100%都能正常工作,所以我唯一能想到的是它为什么不能工作并在cl.exe上崩溃是因为我使用了错误的参数。

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

  1. 在C/C++部分,有一个"命令行"小节列出了将要使用的命令行(没有文件名参数)
  2. 在"常规"小节的C/C++部分,将"禁止启动标志"更改为"否"。这将在生成时打印输出窗口中用于每个源文件的命令行