LoginSignup
6
7

More than 5 years have passed since last update.

コンパイルオプションの条件次第でエラーもしくは警告を出力する

Posted at

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

参考

Diagnostics - The C Preprocessor

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7