正しいファイルと行番号でエラー リストに表示される Visual C++ で意図的にコンパイラ警告 (#error のモデルで、警告を除く) を作成するにはどうすればよいですか?
GCC およびその他のコンパイラは #warning を提供しますが、MSVC コンパイラは提供しません。
http://support.microsoft.com/kb/155196の「解決策」は、Visual Studio エラー リストで解析されません。
正しいファイルと行番号でエラー リストに表示される Visual C++ で意図的にコンパイラ警告 (#error のモデルで、警告を除く) を作成するにはどうすればよいですか?
GCC およびその他のコンパイラは #warning を提供しますが、MSVC コンパイラは提供しません。
http://support.microsoft.com/kb/155196の「解決策」は、Visual Studio エラー リストで解析されません。
これを共通のインクルード ファイル (例: stdafx.h) に追加するだけです。
#define __STR2__(x) #x
#define __STR1__(x) __STR2__(x)
#define __LOC__ __FILE__ "("__STR1__(__LINE__)") : warning W0000: #pragma VSWARNING: "
#define VSWARNING(x) message(__LOC__ x)
これを次のように使用します。
#pragma VSWARNING("Is this correct?!?!")
コンパイラは次を出力します。
c:\dir\file.h(11) : warning W0000: #pragma VSWARNING: Is this correct?!?!
また、[エラー リスト] タブには、表に適切に警告が表示されます。
Type Num Description File Line
[Warning] 13 warning W0000: #pragma VSWARNING: Is this correct?!?! file.h 11
通常の Visual Studio コンパイラの警告とまったく同じです。
これはあなたの質問に対するばかげた答えですが、意図的な警告を追加する必要がある場合は、次のように入力します。
#pragma asdfkljasdlfjasklfjklasjdfklj
Unknown Pragma行番号とすべての警告を発行します。