gccでコンパイルされたプロジェクトで使用されるヘッダファイルと階層のリスト

gccでコンパイルされたプロジェクトで使用されるヘッダファイルと階層のリスト

現在、2つの異なるソース管理システムにまたがるC ++プロジェクトがあります。最初のシステムの完全なソースコードを2番目のシステムにチェックインするのではなく、構築されたサポートライブラリのみをチェックインする予定です。私の質問は、コンパイルできるように、2番目のソース管理システムで使用される最初のソース管理システムのヘッダーファイルが必要なことです。 Solarisでコンパイルするときにgccが使用するすべてのヘッダファイルの名前を出力する簡単な方法はありますか?どのファイルに他のヘッダファイルが含まれているかを確認できるように、ヘッダファイル依存階層を作成する方法はありますか?依存関係ツリーに複数回含まれていない重複エントリが含まれないように、階層内で#pragmaについて一度学習できますか?

ベストアンサー1

gcc -M指定されたソースファイルで使用されるヘッダファイルのリストを作成するか、gcc -MMシステムヘッダファイルを省略するには実行します。このオプションは、このソースファイルのビルド依存関係を生成するためのものなので、出力はmakefile形式です。出力形式を調整する方法はさまざまです。 GCCのマニュアルで利用可能なプリプロセッサオプションを参照してください。デフォルト出力は次のとおりです。

foo.o: foo.c some_header.h ../include/other_header.h \
        ../../common/include/yet_another_header.h

おすすめ記事