Knowhow/C, C++, CMake

VScode C/C++ 개발 세팅, CMakeLists.txt 이용하기 2

침닦는수건 2023. 1. 9. 22:56
반응형

앞선 글을 통해 C/C++ 코드를 실행하려면 CMake를 이용하여 빌드하면 된다는 것을 알았다. 하지만 코드 편집기에서 코딩을 한 뒤에 해당 프로젝트 폴더로 가서 cmake 명령어를 매번 치는 것이 귀찮기 때문에 에디터에 CMake를 연동해서 쓴다. 

(귀찮음이 편리함을 낳는게 맞는 것 같다... make >> cmake >> cmake in editor)

 

C/C++ 개발 시 많은 에디터가 있지만 가장 많이 쓰이는 것은 VScode일 것 같은데 모듈 형태로 간단하게 연동할 수 있다. Visual studio 랑 다른 것이니 이름 확인하는 걸 잊지 말고 큰 취향이 없다면 VScode를 추천한다. (다른건 다 괜찮은데 윈도우 비주얼스튜디오는 좀...) 

 

CMakeLists.txt 파일은 잘 만들어두었다는 전제 하에 말하겠다. 

 

VScode 개발 환경 세팅

1. extension 설치 및 준비

 

먼저 C/C++ 관련 extension들을 설치한다. VScode는 예쁜 메모장인데 각종 extension으로 이 메모장을 에디터로 만들어 사용하는 느낌으로 보면 된다. 따라서 시작은 extension 설치다.

 

위 두 가지를 필수로 설치한다. 그리고 추가로 알록달록한 에디터가 가독성이 높아 편리하다고 생각할 경우, 아래 것도 설치한다.

 

그 다음은 CMake 관련 extension들을 설치한다.

 

CMake Tools를 필수로 설치해야 하며 CMakeLists.txt 직접 VScode 상에서 작성할 경우를 위해 추가로 아래 것도 설치하는 것 이 좋다.

 

 

2. CMake 사용

실사용은 매우 쉽다. VScode는 설치한 extension들이 제공하는 기능들을 불러와서 사용하는 식인데 F1을 눌렀을 때 뜨는 검색창에 사용하고자 하는 기능의 이름을 검색하여 누르면 된다. 웬만하면 shortcut이 있으니 자주 사용할 경우 외워서 사용하면 된다. F1 키는 자주 쓰니 외워두자.

 

검색창에 CMake라고 치면 아래 사진과 같이 설치된 extension에서 제공하는 기능들이 보일 것이다.

 

매번 터미널에서 cmake, make를 타이핑하며 사용했던 것을 여기서 클릭만으로 할 수 있다. 

 

CMake: Configure  >> CMake: Build >> Cmake: Debug 순으로 자주 사용한다. 

 

cmake를 타이핑하던 것을 Configure로, make 타이핑하던 것을 Build로 간단히 할 수 있다. Debug도 자주 사용하게 되는데 이는 VScode 상에서 직접 실행까지 해볼 수 있다. 그리고 코딩할 때 매우 유용한 break point를 사용할 수 있기 때문에 매번 executable 파일을 실행하면서 확인할 필요없이 Debug 모드로 실행해서 편하게 확인하면 된다. 자주 쓰는 F7과 Ctrl+F5 정도는 외워두면 편하다. 

Update

CMake: Delete Cache and Reconfigure

CMake: Clean and rebuild

 

위 두 기능도 자주 쓴다. build를 수도 없이 반복하다 보면 뭔가 이상할 때가 있는데 그럴 때는 위 두가지를 순서대로 호출해서 처음부터 다시 하는게 낫다.

 

3. 참고

VScode는 앞서 말한대로 예쁜 메모장에 불과한데 이를 더 풍부한 기능이 있는 에디터처럼 활용하는 것을 지원하기 위해 tasks.json 및 launch.json 등 자체 기능들을 갖고 있다. 

 

C/C++ 파일 실행법을 검색했을 때, tasks.json 만들고 복사붙여넣기해서 쓰라는 식으로 설명하는 글이 많은데 그 방식과 원리적으론 앞서 설명한 내용이 동일하다. 그냥 자체 기능으로 정리했냐 안했냐의 차이라고 생각하면 되겠다. 

 

나는 tasks.json 사용하는 방법을 모르기도 해서 그냥 위와 같이 쓴다. 

 

반응형

'Knowhow > C, C++, CMake' 카테고리의 다른 글

TBB 팁  (0) 2023.09.25
Boost serialization 팁들  (0) 2023.09.25
Boost serialization  (0) 2023.09.25
CMake 백과사전  (0) 2023.09.21
VScode C/C++ 개발 세팅, CMakeLists.txt 이용하기 1  (0) 2023.01.09