- glibc를 분석하려고 nvim에서 glibc 코드를 봤는데 계속 코드에 오류가 있다고 뜬다.
- 헤더 파일을 잡지 못하는 것으로 추정된다.
- 환경
- mason lsp를 nvim에 추가하여 쓰고 있다.
해결법#
- 동적으로 생성되는 헤더 파일이 있을 수 있기에 헤더 파일들을 빌드해야 한다.
- 4번에 보면 bear 커맨드를 써야한다. 환경에 맞게 설치해놓자.
cd libc-src 소스코드의 위치로 이동
mkdir build && cd build 디렉터리 생성 및 이동
../configure --disable-werror --prefix=/tmp/glibc-install --enable-compile-commands 설정하기
bear -- make -j$(nproc) 빌드빌드 (오래 걸립니다. ㅜㅜ)
cat compile_commands.json 을 하면 결과를 볼 수 있다.
cd .. 을 통해 libc-src 로 이동한다.
nvim .clangd를 통해서 아래와 같이 (생성 혹은) 편집한다.
CompileFlags:
CompilationDatabase: build # compile_commands.json 이 있는 디렉터리
Add: [-D_GNU_SOURCE]
nvim . 을 통해서 인덱싱을 기다린다. (이것도 오래 걸린다, 근데 다행히 다음에 열 때에는 막 그렇게 오래 안걸림)
- 이렇게 하면 경고가 사라진다. 빠른 이동도 잘 된다.
느낀점#