none
警告信息在第二次生成解决方案就消失了? RRS feed

  • 问题

  • VC2008第一次生成解决方案时警告信息会输出,往后只要不重新生成解决方案,那些警告信息就不输出了。
    请问有没有什么办法能够让每次生成解决方案时都会输出警告信息?
    2010年1月21日 7:47

答案

  • 你每次Rebuild 就都出来了。

    是这样的,一般来说,Visual Studio 会以 .h/.cpp 一个文件对儿,让C++ 编译器cl.exe 编译代码,生成模块文件.obj。 也许你的警告是在a.cpp 代码中引起的, 而这次你修改的是b.cpp 代码的文件。只要Visual Studio 认为重新编译b.cpp 时不需要重新编译a.cpp 你就看不到那些警告。

    你可以在项目上点击鼠标右键->属性-?C/C++->General 下面有一个Warning level,把level 调高就可以减少看到警告的机会,反之就是会显示更多的警告。 下面还有一个Treat warning as errors, 设为YES,Visual Studio 就会把警告当做错误来看待,不做到0 errors, 0 warnings 你的程序就没法调试。
    • 已标记为答案 Nancy Shao 2010年1月25日 7:49
    2010年1月21日 7:58
    版主

全部回复

  • 你每次Rebuild 就都出来了。

    是这样的,一般来说,Visual Studio 会以 .h/.cpp 一个文件对儿,让C++ 编译器cl.exe 编译代码,生成模块文件.obj。 也许你的警告是在a.cpp 代码中引起的, 而这次你修改的是b.cpp 代码的文件。只要Visual Studio 认为重新编译b.cpp 时不需要重新编译a.cpp 你就看不到那些警告。

    你可以在项目上点击鼠标右键->属性-?C/C++->General 下面有一个Warning level,把level 调高就可以减少看到警告的机会,反之就是会显示更多的警告。 下面还有一个Treat warning as errors, 设为YES,Visual Studio 就会把警告当做错误来看待,不做到0 errors, 0 warnings 你的程序就没法调试。
    • 已标记为答案 Nancy Shao 2010年1月25日 7:49
    2010年1月21日 7:58
    版主
  • 小项目可以每次都Rebuild, 对于像WebKit、firefox 这样的项目,重编译一次要个把小时几十分钟。 太耗时间了! 因此,一般的编译只编译那些修改过的代码,未修改的就保留了。
    2010年1月21日 8:01
    版主