-4

-Ig++ でコンパイルする場合、がヘッダー ファイルのインクルードに-L使用され、ライブラリ ファイルとのリンクに使用されることを理解しています。しかし、これは行にあるgoogle-breakpad minidump_file_writer_unittestからの g++ コンパイル コマンドです33

g++ -I../ ../common/convert_UTF.c \
 ../common/string_conversion.cc \
 minidump_file_writer.cc \
 minidump_file_writer_unittest.cc \
 -o minidump_file_writer_unittest

では、ここで正確に何-I../を意味するのでしょうか? このディレクトリとサブディレクトリ内のすべてのヘッダー ファイルが含まれていますか?

4

1 に答える 1

7

この-Iオプションは、コンパイラがヘッダーを検索する追加のディレクトリを指定し、追加のディレクトリがコマンドが実行されて-I../いる場所の親ディレクトリであることを指定します。g++2 つのソース ファイルは、親ディレクトリ (のサブディレクトリ) にもあります。は/オプションです。代わりに、コンパイルは正常に機能し-I ..ます (フラグと値の間のスペースもオプションです)。

この-Iオプションは、どのヘッダー ファイルが含まれるかについて (直接的には) 何も述べていないことに注意してください。ヘッダーを探す場所を指定するだけです。ソース コード#include行は、どのヘッダーが含まれるかを示します。

于 2013-10-27T15:32:15.523 に答える