728x90
코드를 동작시키는데 c++ 버전이 낮아서 실행이 되지 않느다는 오류를 마주했었다.
이를 해결하기 위해 c++ 버전을 업그레이드 하는 방법을 찾다가 간단하게 할 수 있는 방법을 알게 되었다.
set(CMAKE_CXX_STANDARD 20) # 또는 17
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
if (MSVC)
add_compile_options(/Zc:__cplusplus)
endif()
cmake_minimum_required(VERSION 3.20)
# include path
include_directories(${CMAKE_SOURCE_DIR}/include)
- CMAKE_CXX_STANDARD 20 : C++20 표준 사용을 지정. (17, 23 등으로 바꾸면 해당 버전 사용)
- CMAKE_CXX_STANDARD_REQUIRED ON: 지정한 표준을 필수로 강제. OFF이면, 컴파일러가 해당 버전을 지원하지 않아도 다른 표준으로 fallback할 수 있음.
- CMAKE_CXX_EXTENSIONS OFF: 컴파일러별 확장(-std=gnu++20 대신 -std=c++20)을 비활성화.
→이렇게 명시 해 주면 특정 버전의 c++을 사용하게 된다.
728x90