TL;DR
コンパイルオプションの条件次第でエラーを出すようにしたい
#error
または #warning
を使用する。
サンプルコード
#ifdef ERROR_DEFINED
#error "error macro defined"
#endif
#ifdef WARNING_DEFINED
#warning "warning macro defined"
#endif
int main(int argc, char const* argv[])
{
return 0;
}
実行例
# エラーを出力する(コンパイルを失敗として中断させる)
$ gcc a.cpp -DERROR_DEFINED
a.cpp:2:2: error: #error "error macro defined"
$ echo $?
1
# 警告を出力する(コンパイルは継続する)
$ gcc a.cpp -DWARNING_DEFINED
a.cpp:6:2: warning: #warning "warning macro defined" [-Wcpp]
$ echo $?
0