如何使Visual Studio的构建变得非常冗长?


98

我需要掌握Visual Studio二进制文件在生成过程中使用的每个标志和开关。我尝试使用来获取详细的输出vcbuild,但是我无法。

我必须怎么做才能看到Visual Studio为我执行的所有操作?不必在构建窗口中获取输出。任何地方都可以。


Answers:


68
  1. 打开项目属性对话框,然后选择

    配置属性C / C ++常规

  2. 更改设置Suppress Startup BannerNo

  3. 所述cl命令线(S)将在输出窗口中显示。


1
这仅影响编译器,而不影响链接器或资源。
user2284570

6
在VS2017中,此“技巧”似乎不再起作用。但是,使用msbuild和解决方案或项目文件名作为cli参数在开发人员提示中进行构建会显示cl调用及其参数。
埃米尔Vrijdags

@EmileVrijdags我可以cl按照以下步骤用VS2017 完美地看到命令输出。因此,“技巧”对我有用。
nephewtom

148

菜单工具选项项目和解决方案生成并运行MSBuild项目生成输出详细程度诊断


2
这不会改变任何东西。我仍然在输出窗口中得到相同的输出。
地理

3
在VC10中对我来说效果很好。
abergmeier

2
@Geo一旦重新启动Visual Studio,它将生效。
absynce

@absynce,在VS 2017中,即使重新启动Visual Studi0 2017,这也不会生效。我正在使用VS 2017社区版。因此,此功能似乎在VS 2017中未正确实现
。– Sunil

65

Visual Studio 2008:

转到菜单工具选项,然后选择项目和解决方案构建和运行部分。您有一个冗长的组合框。

C ++编译器选项(项目属性):

  • 预处理器-生成预处理文件,以查看由预处理器生成的翻译单元
  • 高级-显示包含-在编译器输出中显示包含的文件名

1
这不显示编译和链接器标志,仅显示正在处理的文件名。是否有可能看到已执行的确切命令,或者VS无法做到这一点?
stefanB 2011年

2
@stefanB:您不需要为此设置特殊标志。可以在选项对话框或写入中间目录的构建日志中找到用于编译器和链接器调用的命令行。
Yakov Galka 2011年

8

如果您正在运行MSBuild,则可以设置/ v:diag标志。


我将如何运行MSBuild?
地理

启动Visual Studio命令提示符(在“开始”菜单中),然后使用以下命令执行Visual Studio项目:MSBuild {ProjectName}

例如MsBuild myProject.csproj

我看到了MSBuild调用vcbuild,但是vcbuild没有显示它正在使用的标志/开关。
地理

我相信这是正确的答案。仅关闭抑制功能,各种横幅仍然无法输出所有内容。特别是我正在寻找资源编译步骤。
约翰

5

在Visual Studio中,转到您的项目,然后右键单击它,然后选择属性。在链接器中,有一个命令行选项。您可以在其中找到所有选项,也可以添加自定义选项。添加/VERBOSE和链接时,Visual Studio将显示更多信息。


1
它确实显示了更多信息,但是没有显示所调用的编译工具。
地理位置

2
Visual Studio有一个名为nmake的制作工具。您可以将项目导出到那些makefile中,然后从dos控制台msdn.microsoft.com/en-us/library/txcwa2xx(VS.80).aspx进行构建。上一次我执行类似的操作(但是我使用CMake生成了nmake makefile),所有命令都被打印到控制台显示中。
javier-sanz 09年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.