소스 해석의 조건
소스 파일을 이해하려면 텍스트 외에도 언어 표준과 헤더 탐색 경로, 매크로 및 대상 플랫폼 정보가 필요하다. Clangd는 파일마다 가상의 컴파일 명령을 구성해 파서에 적용한다. 설정이 어긋나면 정상 코드에도 잘못된 오류가 표시될 수 있다.
컴파일 명령 찾기
일반적으로 compile_commands.json에서 파일별 조건을 얻는다. 간단한 프로젝트에서는 공통 플래그 파일을 사용할 수도 있다. 언어 서버를 시작할 때 주는 실행 옵션과 분석 대상 파일의 컴파일 플래그는 서로 다른 설정이다.
헤더와 추정 명령
빌드 시스템은 보통 헤더를 직접 컴파일하지 않아 헤더용 명령이 없을 수 있다. Clangd는 포함한 소스의 명령이나 파일 이름을 바탕으로 조건을 추정한다. 이 추정은 틀릴 수 있으므로 헤더에서만 문제가 생기면 적용된 명령을 확인한다.
관련 문서
Ccls / Clang / Compiledb / Bear 컴파일 데이터베이스