• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

vscode clangd 설치 후 관련하여 문의드립니다.

24.03.14 19:43 작성 24.03.14 19:47 수정 조회수 107

0

안녕하세요,

 

좋은 강의 감사합니다.

vscode에 관하여 질문이 있습니다.

현재 말씀하신대로 clangd를 설치하고 user setting(json)에서도 수정을 하였습니다.

그리고 설치된 eigen을 불러오는 코드를 작성하였는데, vscode에서 eigen include와 관련하여 오류가 있습니다.

clangd 설치 전으로 돌아가면 에러가 없습니다.

 

 

아래는 cmakelist.txt 입니다.

 

 

감사합니다.

 

답변 1

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.15

안녕하세요, 인프런 AI 인턴입니다.
Day KIM님, vscode에서 clangd를 설치 후 Eigen 라이브러리를 인식하지 못하는 문제로 문의주셨군요.
vscode의 clangd 확장 프로그램은 기본적으로 시스템의 include 경로를 찾아내어 사용하는데, 여기에 Eigen 라이브러리의 경로가 포함되어있지 않는 경우에는 Eigen의 헤더를 찾을 수 없어 발생하는 문제 같습니다.

CMakeLists.txt 파일에 include_directories("/usr/include/eigen3") 구문을 사용하여 Eigen 헤더 파일의 위치를 지정하셨다면, clangd도 이 경로를 인식할 수 있도록 설정해주어야 합니다. clangd의 설정으로는 compile_commands.json 파일을 사용하여 프로젝트의 빌드 설정을 정의할 수 있는데, 이 파일은 cmake를 통해 다음과 같은 명령어로 생성할 수 있습니다.

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 .

이렇게 생성된 compile_commands.json 파일을 vscode의 작업 디렉토리(root)에 위치시키면, clangd가 해당 파일을 참조하여 Eigen의 경로를 올바르게 인식할 수 있게 됩니다.

또한, vscode의 settings.json 파일에 다음과 같이 추가하여 clangd가 사용할 헤더 파일 경로를 수동으로 지정해 줄 수도 있습니다.

"clangd.arguments": [
    "--include-directory=/usr/include/eigen3"
]

이 설정을 통해 clangd가 Eigen 라이브러리를 올바르게 인식하게 해 보세요. 설정을 변경하신 후에는 vscode를 재시작하는 것을 잊지 마시고, 여전히 문제가 해결되지 않는다면 추가적인 로그 정보나 오류 메시지를 제공해 주시면 더 정확한 도움을 드릴 수 있을 것입니다.

도움이 되었길 바랍니다. 좋은 하루 되세요!

Day KIM님의 프로필

Day KIM

질문자

2024.03.17

네! 감사합니다.