2011-04-25 3 views
2

저는 libclang 라이브러리를 사용하여 자동 완성 기능을 구축하고 있습니다. libclang은 자동으로 -fsyntax-only 플래그를 내부적으로 사용합니다. libclang은 작업 (또는 .pch 파일)을 위해서는 전체 소스 코드 트리를 사용할 수 있어야합니다. 내가 원한 것은 단일 소스 파일과 미리 컴파일 된 라이브러리 (.a 또는 .so)에 의존하는 모든 코드가 포함 된 파일을 전달하는 것입니다.정적 라이브러리에서 Clang -fsyntax-only 모드를 사용 하시겠습니까?

어떻게하는지 알 수 없습니다.

답변

2

-fsyntax-only을 사용하는 경우 clang은 소스 파일의 내용과 파일에 포함 된 파일 만 검사하도록 요청합니다. 객체 파일을 생성하지 않으며, 정적 및 공유 라이브러리가 필요하지 않습니다.

적어도 원본 파일과 포함 된 모든 헤더 파일 (또는 미리 컴파일 된 버전)이 필요합니다. 포함하는 라이브러리의 헤더 파일을 최소한 필요로하므로 전체 소스 트리가 필요하지 않습니다. 헤더 파일이 일반적으로 패키지되는 방법은 사용중인 라이브러리에 따라 다릅니다. 종종 "헤더 + 라이브러리"배포본을 얻습니다.

관련 문제