2010-11-21 14 views
0

私は、C++プロジェクトの開始点として選択した特定のファイルのすべてのインクルードファイルを特定し、そのインクルードファイルのすべてのインクルードファイルを特定したいと思います。私が出発点として選んだファイルXcode C++コンパイルの依存関係をトレースすることは可能ですか?

バックグラウンド:私はプロジェクトの「中間」からファイルを取り出し、その依存関係だけを持ち上げようとしています。私はこの依存関係を手動でチェックすることはできますが、Xcode IDEで自動的に行うための明白な方法はありません。

答えて

0

でファイルを構築できます。しかし、特にあなたが興味を持っているファイルが1つだけの場合は特にそうではありません。

-Eフラグをg++に追加すると、ソースファイルの前処理後に停止することができます。前処理されたソースファイルには、#include個のすべてのファイルについてのコメントが記載されています。これらの行は、grepという簡単な呼び出しで抽出できます。

Build > Build Resultsに行くとファイルをコンパイルするときにXcodeが引数の完全なリストを教えてくれます。ビルドを開始し、 "コンパイルsomefile"という行の右端にある行でwhile楕円をクリックします。 cpp ... "

Doxygenツールは、ソースファイルとヘッダーファイルの両方から#includeのグラフをレンダリングする機能を備えています。それは素晴らしいですが、おそらくあなたがやろうとしているもののために少しヘビー級です。

+0

私が持っているxcodeのバージョンには、あなたが言及している「白い楕円」はありませんが、something.cppファイルを右クリックすると「前処理」コマンドがあることに気付きました。これにより、プリプロセッサの出力がすべて生成され、エディタウィンドウに表示されます。しかし、「インクルード」されているすべてのファイルが実際に出力に「インクルード」という言葉を持っているわけではありませんが、新しいファイルが開始されたことを示すマークを使用すると、それは私のために働くように見えました...):somePreprocessorOutput.txt | grep '"1" – Mick

0

どのコンパイラを使用しますか?それがMSVC++の場合、オプションの使用法を見てください:/ P、/ EP/P g ++を使うときは、cppユーティリティを試してみてください。

どちらの方法は、あなたが、私はこれを行うためのXcode自体に何らかの支援を認識していないよすべて(インクルードファイルの名前がコメントとして含まれることになる)が含ま

関連する問題