2011-07-14 7 views
1

私は現在、C++ Builder 5から最新バージョンのC++ Builder XEにかなり大きなプロジェクトを移植しています。これはC++ Builderでの私の最初の経験です。ファイルにエラーがありますが、とにかくこのファイルを含めたくありません(コンポーネントのコードはもう必要ありません)。しかし、私はこのファイルがどこにどのように含まれているかを知ることができませんでした。コンパイラエラーは、エラー自体とは別にヒントを与えません。ファイルがどこに含まれているかは、どのようにしてわかりますか?C++ Builder XE:特定のhファイルがどこに含まれているかを調べる

答えて

5

プリプロセッサはこれに最適です。プロジェクトマネージャーでエラーが発生したcppファイルを右クリックし、 "preprocess"を選択してください ここからの出力は、処理された順にすべてのファイルと行番号を示しています。問題のファイルを検索することができます。その上の行は、それを含むファイルです。 これはおそらく別のヘッダーファイルでもある可能性があるので、長鎖でも構いませんが、どこから来たのかを正確に判断できます。

+0

Hm、私はそれを試みましたが、出力内でエラーの原因となるファイルを見つけることができません。なぜそれができますか?私は最終的にエラーの原因となるファイルが、他の5つのヘッダーのチェーンを通じて間接的にコンパイルしたいファイルに含まれていることを知っていますが、出力内でこのチェーンの2番目のものを見つけることさえできません。 – mort

+0

正しいcppファイルを前処理している場合は、エラーメッセージの正確なファイルと行が.iファイルに含まれている必要があります。エラーメッセージが指し示されている場合は、problemheader.h:999を検索できるはずです。 –

1

ファイルのサイズがかなり大きい場合は、Doxygenのようなツールを使用すると、インクルードの依存関係(呼び出しパスなど)を表示するのに役立ちます。

これを行う必要があるのはわずかです。David Deanのプリプロセッサの提案は金色です。

+0

私は既にDoxygenについて考えていました。私が取り除きたいファイルは、(さまざまなコンポーネントからの)外部のファイルなので、これらのファイルがどこに含まれているかを一度に見ることはできません。プロジェクト内のファイルは、間接的にしかチェックできません。特定のファイルを含める。これは大きな助けですが、あまり快適ではありません。 – mort

1

プロジェクトオプションで、コンパイラの一般メッセージを有効にします。コンパイラがエラーに遭遇すると、誤ったコードにつながるインクルードのチェーンを見ることができます。

+0

チップをありがとうが、どこでこの設定を見つけることができますか? – mort

+0

ツール - >オプション - >環境オプション - > C++オプション - >プロジェクトプロパティ - "一般メッセージを表示" –

関連する問題