inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Tam giác đang hoạt động! CMake cho người mới bắt đầu

Biến CMake

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

Đã giải quyết

186

rootgamer

52 câu hỏi đã được viết

0

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

c++ cmake vcpkg

Câu trả lời 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