[VSCode] cmake includePath 자동 편집

OpenJR·2022년 8월 10일
0

VScode에서 Cmake 사용 시, 링크는 되지만 src 파일에 연결한 hpp 헤더파일이 물결표시로 연결이 안되 코드를 타고 들어갈 수 없는 경우가 있다.

1. catkin_make 사용 시

방법:
최상단 CMakeLists.txt에 아래의 명령어를 추가한다.

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

그리고 .vscode/c_cpp_properties.json에 다음의 명령어를 추가한다.

{
  "configurations": [
    {
      ...,
      "compileCommands": "build/compile_commands.json"
    }
  ],
}

2. catkin build 사용 시

  1. catkin build 할 때 인자를 추가하여 아래와 같이 빌드한다.

    catkin build -DCMAKE_EXPORT_COMPILE_COMMANDS=1

  2. sudo apt install jq 로 jq를 설치 후 아래의 쉘 스크립트를 작성 후 이용한다.

    catkin_ws 폴더가 개개인 마다 다를 수 있으므로 자신의 세팅에 맞게 수정한다.

    #!/bin/sh
    
    jq -s 'map(.[])' ~/catkin_ws/build/*/compile_commands.json > ~/catkin_ws/build/compile_commands.json
  3. .vscode/c_cpp_properties.json 파일의 "configurations" 안에 아래의 명령어를 위와 같이 추가한다.

    `"compileCommands": "build/compile_commands.json"`

    그러면 이제 연결이 되었을 것이다.

profile
Jacob

0개의 댓글