GCC 컴파일 프로젝트에서 CMake는 다양한 대상 유형(디버그/릴리스)에 대한 빌드 설정을 구성하는 유연성을 제공합니다. 다음은 몇 가지 일반적인 시나리오를 해결할 수 있는 방법입니다.
디버그 및 릴리스 빌드를 위한 별도의 빌드 디렉터리를 생성하려면 다음 단계를 따르세요.
mkdir Release cd Release cmake -DCMAKE_BUILD_TYPE=Release .. make
디버그 빌드의 경우:
mkdir Debug cd Debug cmake -DCMAKE_BUILD_TYPE=Debug .. make
CMake는 CMAKE_BUILD_TYPE 설정에 따라 적절한 컴파일러 플래그를 자동으로 추가합니다. 사전 정의된 다른 빌드 구성에는 RelWithDebInfo 및 MinSizeRel이 포함됩니다.
특정 컴파일러 플래그를 수정하거나 추가해야 하는 경우 사용자 정의 도구 체인 파일을 정의할 수 있습니다. 이 파일 내에서 다음과 같은 변수를 설정할 수 있습니다:
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-Wall") set(CMAKE_CXX_FLAGS_RELEASE_INIT "-Wall")
이러한 설정은 각각의 디버그 및 릴리스 빌드에 적용됩니다.
CMakeLists.txt는 일반적으로 다음을 설정합니다. CMAKE_CXX_COMPILER 및 CMAKE_C_COMPILER 변수를 사용하여 기본값을 지정합니다. C 및 C 컴파일러. 그러나 서로 다른 대상에 대해 서로 다른 컴파일러를 사용해야 하는 경우 CMakeLists.txt에서 사용자 정의 대상을 정의할 수 있습니다:
add_executable(my_debug_executable gcc) target_link_libraries(my_debug_executable my_debug_library) add_executable(my_release_executable g ) target_link_libraries(my_release_executable my_release_library)
이 예에서 my_debug_executable은 GCC를 사용하고 my_release_executable은 G를 사용합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3