2012-09-10 2 views
4

SCons를 통해 프로그램을 컴파일하는 데 사용하는 시스템 헤더가 아닌 항목이 있습니다. 문제는 때로는 변경되지만 SCons는 헤더의 변경 사항을 전혀 검색하지 않는 것 같습니다. SCons에게 헤더의 변경 사항을 검사하도록 지시하는 방법이 있습니까?헤더가 변경된 경우 트리거 재 작성

+0

여기에서 시작하십시오 : http://scons.org/doc/production/HTML/scons-user/x1220.html – Torsten

답변

5

당신이 c/C++에 대해 말하는 것으로 가정하면, SCons는 포함 경로가 올바르게 설정되었다고 가정 할 때 헤더 파일을 항상 검사해야합니다.

포함 변수가 CPPPATH 구성 변수로 지정된 경우 해당 경로에있는 포함 파일의 변경 사항을 검사합니다. 이 변수로 지정된 경로 인 의 앞에 -I이 붙지 않아야합니다. 왜냐하면 SCons는이를 휴대용 방식으로 수행하기 때문입니다.

이 변수는 다음과 같이 추가 될 수있다 : 인클루드 경로가 CCFLAGS 또는 CXXFLAGS 건설 변수에 지정 되었다면

env = Environment() 
# These paths WILL BE scanned for header file changes 
env.Append(CPPPATH = ['path1', '/another/path', 'path3']) 

는 다음 해당 경로에 파일을 포함 스캔되지 변화를. 이러한 변수 중 하나에 지정된 포함 경로는 이어야하며의 앞에 -I이 추가되어야합니다. 이 방법은 시스템 헤더를 지정할 때 경로 변경 가능성이 거의 없을 때 유용하므로 빌드 프로세스의 속도가 빨라집니다.

경로는 CXXFLAGS 변수에 추가 될 수

env = Environment() 
# These paths will NOT be scanned for header file changes 
env.Append(CXXFLAGS = ['-Ipath1', '-I/another/path', '-Ipath3']) 

Here가 SCons는 구조 변수의 나머지 부분의 목록이다.