質問するログイン新規登録

回答編集履歴

1

説明補足

2016/12/17 15:19

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -3,4 +3,4 @@
3
3
 
4
4
  このエラーが出ているなら`HEADER_A`が`#define`されていないか、`#undef`されているか、プリコンパイルヘッダ(.pch)が更新されていないかのいずれかだと思います。gccのプリコンパイルヘッダについてはよく知らないので、最初の可能性に着目すると`#if/#ifdef/#ifndef/#else/#elif/#endif`などのスイッチの綴りミスや条件間違い等々の影響によって`#define HEADER_A ...`の行がスキップされているか`#include`自体がスキップされているといった原因が考えられると思います。
5
5
 
6
- まずは`#define HEADER_A ...`の直前に`#error defining HEADER_A`という行を挿入してコンパイルすれば、このヘッダーの該当位置が本当に生きているか(実際にincludeされていて#ifなどででスキップされてないか)が確実にわかるのではないでしょうか。このエラーが出なければスキップされているのは確実と思えるので前述したコンパイルスイッチによってどの部分がスキップされているか確認すべきと思います。
6
+ まずは`#define HEADER_A ...`の直前に`#error defining HEADER_A`という行を挿入してコンパイルすれば、このヘッダーの該当位置が本当に生きているか(実際にincludeされていて#ifなどででスキップされてないか)が確実にわかるのではないでしょうか。このエラー(defining HEADER_A)が出なければスキップされているのは確実と思えるので前述したコンパイルスイッチによってどの部分がスキップされているか確認すべきと思います。