내가 추가 한 모든 내 $PATH
을 사용하고 내가 [3, 1, 2]이 답변에 따라, 적절한 환경 변수를 설정하는 내 SConstruct
을 쥐게했습니다. 지금은 빌드가 시작되고, 나는 scons
에 의해 갈래의 프로세스가 오브젝트 파일이 성공적으로 빌드연타의 스캔 구축 SCons는와 C++ (11)
/path/to/c++-analyzer ... -std=c++11 ...
입니다 볼 수 있지만 그때는 오류 얻을
scan-build --use-c++=`which clang++` scons
를 실행하면
could not find clang line
을
이 오류는 분기 된 프로세스에 -cc1
문자열이 포함되어 있지 않을 때 c++-analyzer
에서 발생합니다. 내가 ps aux
를 확인한다면, 나는 분명
/path/to/clang -cc1 ...
어떻게 프로그램이 제대로 만들 수 볼 수 있지만 정적 분석기는 다음과 같이 실패?
참고로, 내가 수동으로
scan-build clang++ <parameters from scons>
다음 빌드가 성공하고 보고서를 생성 실행하는 경우!
또한
env["ENV"]["PATH"] = os.environ["PATH"]
를 추가하고 난 그냥 수정되지 않은 SConstruct
와 scons
자체에 scan-build
를 실행할 수 없습니다
CXX="scan-build clang++" scons
을 실행하여 "속임수"할 수 있습니다.
질문에 대한 답변은 "SCons는 일반적으로 빌드를 실행하기 전에 환경을 정리합니다 (이것은 기능 임)." –
@ Industrial-antidepressant 이미 Greg가 제시 한 환경 변수를 사용합니다. 나는 Clang과 SCons를 통해 * 잘 만들 수있다. * 정적 분석기 *를 실행할 수 없습니다. – chrisaycock
흠, scan-build로 시도하십시오 --use-analyzer =/path/to/clang –