inflearn logo
강의

講義

知識共有

三角形の本番! CMake初級

CMake変数

수업 진행 중에 궁금한 부분이 생겼습니다.

解決済みの質問

186

rootgamer

投稿した質問数 52

0

수업진행중 cmake에 관해 궁금한 부분이 생겼는데요. CMakeLists.txt에서 Debug인지 Release인지 작성해준 것이 없는 것 같은데 어떻게 Build/Debug 밑에 실행파일이 생성되게 되나요? 그리고 32bit 프로그램인지 64bit 프로그램인지 작성하는 부분도 없는데 어떤 기준으로 만들어지게 되는건가요? vscode cmake 익스텐션을 사용하고 있는데 익스텐션에서 설정이 되어있는걸까요?

c++ cmake vcpkg

回答 2

0

triangle

CMake에는 Debug인지 Release인지 32bit인지 64bit인지 기본 값이 설정되어 있습니다.

CMake에서 빌드를 할 때, --config로 Debug 또는 Release를 결정할 수 있습니다.

예시: cmake --build . --config Release

아키텍쳐는 컴파일러마다 설정하는 방법이 다릅니다.

MSVC

64비트: -A x64

32비트: -A Win32

Clang

64비트: -DCMAKE_C_FLAGS=-m64

32비트: -DCMAKE_C_FLAGS=-m32

감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 가나파이님!

CMake를 이용한 빌드 관련하여 몇 가지 궁금한 부분이 있으신 것 같습니다. CMake에서는 다양한 빌드 설정을 할 수 있으며, 이에 관련된 사항들을 간단히 설명드리겠습니다.

  1. Debug/Release 구분:
    CMake에서 Debug 혹은 Release 모드로 빌드하는 것은 CMakeLists.txt 파일에서 직접적으로 설정하지 않고, CMake를 호출할 때 옵션을 주어 결정합니다. 예를 들어, CMake 명령을 실행할 때 -DCMAKE_BUILD_TYPE=Debug 또는 -DCMAKE_BUILD_TYPE=Release 를 지정하여 설정할 수 있습니다. 이러한 옵션을 통해 CMake는 최적화 수준 등 관련 설정을 적용하게 됩니다.

  2. 32bit/64bit 구분:
    기본적으로 CMake는 시스템의 기본 아키텍처를 따라가게 됩니다. 64비트 시스템에서 64비트 빌드를, 32비트 시스템에서 32비트 빌드를 생성합니다. 다만, 명시적으로 32비트 혹은 64비트로 빌드를 원한다면, 특정 CMake 설정이나 toolchain 파일을 통해서 설정할 수 있습니다.

  3. VSCode CMake 익스텐션:
    VSCode의 CMake 익스텐션은 이러한 설정들을 쉽게 관리할 수 있도록 도와줍니다. 설정 파일이나 환경 변수를 통해 기본 빌드 설정을 관리할 수 있으며, 원하는 빌드 설정을 프로파일로 저장하고 필요에 따라 쉽게 전환할 수 있습니다.

아래의 링크들은 해당 주제를 자세히 다룬 기존 질답을 포함하고 있으니 참고하시면 더 많은 도움이 될 것입니다:
- CMake Debug/Release 설정 관련 질문
- CMake 빌드 아키텍처 설정 관련

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

실행 방법 질문

0

68

1

CMake Error: Unknown argument --fresh

0

66

1

질문

0

54

2

set(<variable> ON/OFF)와 option에 차이가 있을까요?

0

65

2

-와 _를 선택하는 규칙이 궁금합니다.

0

71

2

4강과 5강의 강의 순서가 바뀐 것 같습니다.

0

68

2

install 추가 질문

0

90

2

-G 명령으로 Xcode 생성 할때 오류가 발생합니다.

0

156

2

Build_SHARED_LIBS 질문

0

152

2

설치경로 지정이 잘 안돼요.

0

154

1

FetchContent로 가져온 외부 라이브러리를 사전에 빌드하는 방법이 있을까요?

0

246

2

ExternalProject_Add 관련 질문

0

268

2

FetchContent를 캐시 처리할 수 있나요?

0

147

1

CMake 커맨드 - target_include_directories 질문

0

200

2

병렬 동작 지원 여부

1

267

2

CMake 의 단점들

0

238

1

CMake 출시 연도가 영상에서 아마도 잘못 소개된 것 같습니다

0

177

1

4-2 installing 에서 질문드립니다

0

229

2

CheckIncludeFileCXX 모듈 질문

0

197

1

혹시 강의에 나오는 예제 코드를 받을 수 있는건가요?

0

280

1

CMake 배포 강의가 CMake 설치 강의랑 똑같아요

0

486

1

Xcode 빌드시스템 에서 빌드가 잘 되지 않는 문제가 있습니다.

0

1276

1

CMake 심화 - CMake 설치 실습 관련 문제

0

770

3

CMakeCache.txt에서 ON과 1은 같은건가요?

0

313

1