1

継承された Borland C/C++ プロジェクトに取り組んでおり、プロジェクトの機能の多くは、コンパイラに渡された定義に依存する #ifdefs の背後に隠されています。構成ごとのシンボルを使用してEclipseでこれらのセクションをアクティブにしようとしましたが、ソースファイルを表示すると、大きなセクションがまだグレー表示されています。これらの定義についてEclipseに伝える方法はありますか?ビルド構成を変更して、コードのどのセクションが適切にコンパイルされているかを確認できますか?

4

1 に答える 1

0

これは、このスレッドで説明されている問題へのリンクですか?

おそらく問題は、指定したファイルがインクルード検索パスで見つからないことです。と
の違いは次のとおりです。 - マクロ ファイルは前処理されるだけです (つまり、マクロ定義が抽出されます)。一方、インクルード ファイルは実際に解析されます (つまり、宣言も抽出されます)。 macro-include-files

これらのオプションは、gcc-imacro-includeコマンドライン オプションと同じように機能するはずです。

私は今問題を見ます。
プロジェクトのインデクサーをオフにしました。
したがって、ファイル自体は見つかりましたが、インデックスでファイルを見つけることができなかったため、そのバッファは空でした。

コードを少し調べてみたところ、C/C++ 設定ページで [アウトライン ビューを作成するときに、インデックスのないヘッダー ファイルに従う] オプションをオンにすると、マクロ ファイルが正しく解析されることがわかりました。


それとも、バグ 197989のような最近のバグに関連していますか? (ヘッダーが複数回含まれている場合、高速インデクサーは正確ではない場合があります)

于 2009-12-21T05:30:07.780 に答える