이 Omitted code blocks from clang AST for ObjectiveC을 해결 한 후 적절한 compile_commands.json과 함께 작은 Objective C .m 파일에서 시도해 보았습니다. 제대로하면 전체 구문 트리가 나타납니다. 이제파일 (xcodebuild) 대신 파일 레벨이 아닌 프로젝트 레벨 (iOS 앱)에서 clang 정적 검사기 실행
나는 그것이 내가 그때 그것은 나에게 오류를 제공 error: unknown argument: '-project'
및 error: unable to handle compilation, expected exactly one compiler job in ''
실제로 그것을인가 clang-check -ast-dump /Users/xx/Desktop/iOSApplication/iOSApplication.xcodeproj
를 실행하려고 전체 xcodebuild
[
{
"directory" : "/Users/xx/Desktop/iOSApplication",
"command" : "xcodebuild clean build CODE_SIGN_IDENTITY=\"\" CODE_SIGNING_REQUIRED=NO -project /Users/xx/Desktop/iOSApplication/iOSApplication.xcodeproj/",
"file" : "iOSApplication.xcodeproj"
}
]
에서 실행하는 것이 가능 있는지 확인하기 위해 노력하고있어 전체 xcodeproject에 AST 기반 검사기를 실행할 수 있습니까? 또는 한 번에 하나씩 파일을 컴파일하는 방법은 무엇입니까?
이것은 clang 정적 분석기를 사용하기위한 것입니까? 전에 시도한 적이 있지만 지금은 RecursiveASTVisitor로 작업 중입니다. –
내 재귀 AST 빌더의 경우 모든 파일 항목과 함께 compile_commands.json을 작성할 수 있습니다. '{{<파일 1에 대한 엔트리>, <파일 2에 대한 엔트리>,}]'이 json 파일을 자동 생성하기 위해 cmake를 CMAKE_EXPORT_COMPILE_COMMANDS 플래그와 함께 사용했습니다. 나는 xcode가 비슷한 것을 가질 것이라고 확신한다. –