0

多くのCソースファイルとヘッダーファイルで構成されるプロジェクトをビルドする必要があります。プロジェクトは警告付きでxcodeでコンパイルされますが(これは問題ありません)、WindowsXPのEclipseでGNUgcc Cコンパイラを使用してコンパイルしようとすると、多くの「再宣言」および「ネストされた再定義」エラーが発生します。これらのエラーはすべて、いくつかの異なるヘッダーファイル内の列挙子のtypedefを参照しています。

これらの各ヘッダーファイルには、ファイル全体に適切な#ifndef /#define /#endifタグがありますが、1つのヘッダーファイルにそれぞれ他の複数のヘッダーファイルが含まれるように、同じ列挙子をtypedefします(typedefを複数のヘッダーにコピー/貼り付けします)。そのうち、同じ名前の同じ列挙型typedefを持っています。

これはxcodeで警告付きでコンパイルされると言われ、既存のコードを変更することは許可されていません。

xcodeで警告を表示してコンパイルするため、Eclipseでこれらのエラーを無視するか、警告に変更してコンパイルする方法を見つけようとしましたが、失敗しました。コンパイラが最初または最後の定義/宣言を使用するかどうかは関係ありません。それらは同一の再定義/再宣言です。

これを行う方法はありますか?

編集:エラーフラグを使用したコンパイル-Wall

4

1 に答える 1

0

コンパイラがエラーを警告に変更できる可能性はほとんどありません。ただし、ほとんどの場合、逆の方向に進むことができます。Windows / eclipseシステムのコンパイラに渡し-Werrorていますか?インクルードガードの一部が機能していないようです。あなたが私たちにもう少し詳細を教えてくれれば、私たちはあなたを助けることができるかもしれません。

于 2011-03-24T23:01:47.123 に答える