SCons を介してプログラムをコンパイルするために使用する非システム ヘッダーがあります。問題は、ヘッダーが時々変更されることですが、SCons はヘッダーの変更をまったくスキャンしていないようです。ヘッダーの変更をスキャンするよう SCons に指示する方法はありますか?
質問する
1102 次
1 に答える
5
c/c++ について話していると仮定すると、インクルード パスが正しく設定されていると仮定すると、SCons は常にヘッダー ファイルをスキャンする必要があります。
CPPPATH
インクルード パスが構成変数で指定されている場合、そのパス内のインクルード ファイルの変更がスキャンされます。この変数で指定されたインクルード パスは、SCons が移植可能な方法で行うため、先頭にを付けるべきではありません。-I
この変数は、次のように追加できます。
env = Environment()
# These paths WILL BE scanned for header file changes
env.Append(CPPPATH = ['path1', '/another/path', 'path3'])
CCFLAGS
インクルード パスがまたはCXXFLAGS
構成変数で指定されている場合、そのパス内のインクルード ファイルは変更をスキャンされません。これらの変数のいずれかで指定されたインクルード パスには、先頭に を付ける必要があります。-I
この方法は、変更される可能性がほとんどないシステム ヘッダーのインクルード パスを指定する場合に役立ち、ビルド プロセスが高速化されます。
CXXFLAGS 変数にパスを追加できます。
env = Environment()
# These paths will NOT be scanned for header file changes
env.Append(CXXFLAGS = ['-Ipath1', '-I/another/path', '-Ipath3'])
以下は、残りの SCons 構築変数のリストです。
于 2012-09-10T19:44:57.510 に答える