繁体   English   中英

Visual Studio从命令行生成警告; IDE不

[英]Visual Studio from command line generates warnings; IDE does not

我在Windows XP系统上使用Visual Studio 2005(32位)。 我有一个从命令行(在批处理文件中)构建的C ++项目,该项目使用devenv.exe启动构建。 这是一个如何启动的示例:

{path_to_devenv.exe} my_solution.sln /rebuild "Debug|Win32" /out my_logfile.txt

在该项目的代码中,我们使用一些编译指示来禁用一些我们不希望看到的无关紧要的警告:

#pragma warning ( disable : 4521 4522 )
// Some code here
#pragma warning ( default : 4521 4522 )

从IDE在调试配置中构建项目时,这些警告不会显示在构建输出中。 从命令行构建相同的项目时,警告确实会显示在我们的日志文件中(该日志文件是使用/ out命令行参数指定的)。 在发布版本中构建时,在两种情况下都不会显示警告。

通过devenv.exe驱动VS 2005会导致在调试情况下忽略编译指示是否有所不同? 为什么这些警告应该出现在一个世界而不是另一个世界?

坦白说,我看到这种情况的唯一原因是没有看到编译指示。

校验

  • 构建配置(您是否也在IDE中也构建Debug|Win32 ?)
  • 尤其是包含路径(它们是否相同;也许可以查看环境是否包含其他设置)
  • 您是否正在从IDE中进行完全重建 我不排除您通常不会在IDE中看到警告,因为您通常会进行增量构建并且不需要构建相关的源。 检查在IDE中进行完全重建时是否出现相同的错误

如果您迫切需要线索,则可以始终使用这两种变体保留预处理结果并进行比较。 “保留预处理的源”选项隐藏在“预处理器” C ++构建设置下的某个位置。

祝好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM