2022. 7. 28. 12:00ㆍ03. Resources/C, C++
이전 게시물에서도 썼던 것처럼 C++은 진짜 컴파일 하려고 오만 고생을 해야한다.
지금 이 포스팅은 맥으로 작성하고 있는데, 내가 회사에서 주로 쓰는 운영체제는 우분투이다.
심지어 플랫폼마다 컴파일 하는 방식이 다 다르다. 지금 맥에서는 clang만 깔려있는데, 회사 컴퓨터에서는 g++을 쓴다.
만약 내가 쓰던 맥에서 쓰던 코드를 우분투에서도 쓰려면 여러 컴파일러를 이용해서 코드를 컴파일 하는 커맨드들이나 makefile을 만드는 방법을 알아야하는데 누가 그걸 다 외우고 있나
이런 생각을 덜어주기 위해서 CMakeLists를 쓴다고 한다. 얘 하나만 있으면 컴파일러에 대한 걱정을 "덜" 하면서 컴파일을 진행할 수 있기 때문이다.
CMake Tutorial도 보고 이런저런 문서들도 같이 보면서 공부를 하고 있다.
먼저 mac에서 설치는 쉽게 가능하다.
https://formulae.brew.sh/formula/cmake#default
brew를 통해서도 cmake를 설치할 수 있어서
brew install cmake
위의 커맨드를 이용해서 설치하면 된다.
가장 기본적인 템플릿은 아래와 같다.
cmake_minimum_required(VERSION 3.21)
project(cmake_test VERSION 1.0.0 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
add_executable(cmake_test src/main.cpp)
cmake의 최소 버전을 명시해준다. cmake 버전 별로도 기능이 많이 다르기 때문에 꼭 필요하다!
그리고 프로젝트에 대한 설명을 적는다.
다음으로 C++의 어떤 버전을 쓸 것인지, 표준 라이브러리를 쓸 것 인지, 익스텐션을 쓸 것인지 체크를 하고
컴파일된 결과물은 어떤 파일을 이용해서 만들 것인지 적어준다.
아래는 위에서 실행 파일로 만드는데 쓴다고 적어둔 src/main.cpp 코드이다.
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
}
위의 코드를 적고, vscode의 cmake 익스텐션을 이용해서 빌드를 진행할 수 있다.
설치하면 하단바에 아래 사진과 같은 항목들이 주루룩 생긴다.
어떤 옵션으로 빌드를 할 것인지, 어떤 컴파일러를 사용할 것인지 선택할 수 있다.
빌드 버튼을 누르면 빌드가 진행되고, 재생 버튼을 누르면 executable로 선택한 파일을 실행하게 된다.
이정도만 알아도 간단한 테스트 모듈 개발하고 디버그 하기엔 충분한 것 같다.
더욱 복잡한 옵션들도 있는데 일단은 여기까지 적어두자!
'03. Resources > C, C++' 카테고리의 다른 글
[TDD/C++] C++로 실습하는 Test-Driven Development - TDD란? (0) | 2022.08.28 |
---|---|
[C++ 스터디] LeetCode 코딩 테스트 문제 풀어보기! - Roman to Integer (0) | 2022.08.15 |
[C++ 스터디] 열거 타입 (enum), 구조체 (struct) (0) | 2022.07.05 |
[C++ 스터디] 리터럴, 변수, 그리고 연산자 (0) | 2022.07.03 |
[C++ 스터디] 네임스페이스란 (0) | 2022.07.01 |