あなたはうまくいきたいと思います。 私は5つのファイルにversion.hのファイルを持っています。 SUB_VERSION2
version.hを:10:2:警告: - - :SUB_VERSION2
version.hを:10前処理を使用しているときのgccからの複数の警告の回避方法.h
version.hを::10:2:警告、私はコンパイルするとき は私が5回の警告を持っています:2:警告: - SUB_VERSION2
version.hを:10:2:警告: - SUB_VERSION2
version.hを:10:2:警告: - SUB_VERSION2
と私は持っていたいです1つの警告。私はしばらくの間、いくつかのウェブサイトを見ていると私はこの問題について何も見つかりません。この問題を避けるには?
は、ここに私の.hであると私.Cはランダムです:
#ifndef _VERSION_H
#define _VERSION_H
#define SUB_VERSION 1
#define SUB_VERSION SUB_VERSION2
#if (SUB_VERSION == SUB_VERSION2)
#ifndef WARNING_SUB_VERSION
#define WARNING_SUB_VERSION
#warning -- SUB_VERSION2
#endif
#endif
#endif
#endif
あなたの診断は確かに正しいと思われますが、「あなたはできない」という結論は、どのような解決策を検討すべきかに関するいくつかの前提のない仮定に依存しなければなりません。 –
あなたのフィードバックのためにありがとう。私の問題を解決するためのアドバイスはありますか? – ruxob
私の前提は、OPが同じ.hファイルを含む複数の.cファイルのシナリオを変更したくないということでした。 OPがそれを変更する準備ができていれば(あなたの答えのように)、物事が変わります。しかし、私はOPが何らかのプリプロセッサの魔法を探していたと感じています。もしそうなら: "できません"。 –