이 가이드에서는 Windows 환경에서 Meson을 설치하고, 간단한 Hello World C++ 프로그램을 Meson 빌드 시스템을 사용하여 빌드하는 방법을 설명합니다. 단계별로 설치 및 설정 과정을 따라가면서 C++ 프로젝트를 빌드하는 방법을 알아보겠습니다.
1. 필요한 도구 설치
1.1 Python 설치
Meson은 Python을 사용하여 작동합니다. 먼저 Python을 설치해야 합니다.
- Python 공식 사이트에서 Python 설치 파일을 다운로드합니다.
- 설치할 때 "Add Python to PATH" 옵션을 체크한 후 설치를 진행합니다.
설치 후 터미널에서 Python이 정상적으로 설치되었는지 확인합니다.
python --version
1.2 Meson 설치
Meson은 Python을 통해 설치할 수 있습니다.
- 터미널(명령 프롬프트 또는 PowerShell)을 열고 다음 명령어로 Meson을 설치합니다.
pip install meson
설치가 완료되면, Meson이 제대로 설치되었는지 확인합니다.
meson --version
1.3 Ninja 설치
Meson은 기본적으로 Ninja 빌드 시스템을 사용합니다. Ninja를 설치하려면 다음 단계를 따릅니다:
- Ninja 공식 사이트에서 최신 버전의 Ninja를 다운로드합니다.
- 다운로드한 ninja.exe 파일을 적절한 폴더(예: C:\Program Files\ninja)에 저장하고, 해당 경로를 시스템 환경 변수에 추가합니다.
시스템 환경 변수 path에 (C:\Program Files\ninja) 경로를 추가한 후, 터미널에서 Ninja가 정상적으로 설치되었는지 확인합니다.
ninja --version
2. 프로젝트 디렉터리 준비
이제 Hello World C++ 프로젝트를 준비할 차례입니다.
- 빌드를 수행할 프로젝트 폴더를 만듭니다.
mkdir HelloWorld
cd HelloWorld
- src 폴더를 만들고 main.cpp 파일을 생성합니다. (HelloWorld/src/main.cpp)
- main.cpp 파일을 열고, 다음 코드를 작성합니다:
// src/main.cpp
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
3. Meson 설정 파일 작성
Meson은 meson.build라는 설정 파일을 사용하여 빌드를 정의합니다.
- 프로젝트 루트 디렉터리(예: HelloWorld)에 meson.build 파일을 생성하고, 다음 내용을 작성합니다:
# meson.build
project('helloworld', 'cpp')
executable('helloworld', 'src/main.cpp')
이 파일은 다음과 같은 역할을 합니다:
- 프로젝트 이름: helloworld
- 빌드할 언어: C++ (cpp)
- 실행 파일 이름: helloworld
- 소스 파일 경로: src/main.cpp
4. Meson으로 빌드하기
Meson은 빌드를 아웃 오브 소스(out-of-source) 방식으로 수행합니다. 즉, 빌드 파일과 결과물이 소스 파일과 분리된 디렉터리에 저장됩니다.
4.1 빌드 디렉터리 설정
- 터미널에서 HelloWorld 디렉터리로 이동한 후, 다음 명령어로 빌드 디렉터리를 설정합니다.
meson setup builddir
이 명령어는 builddir이라는 폴더를 만들고, 빌드 파일을 그곳에 생성합니다.
4.2 빌드 실행
빌드 디렉터리를 설정한 후, 다음 명령어로 빌드를 실행합니다.
meson compile -C builddir
이 명령어는 Meson이 자동으로 Ninja를 호출하여 main.cpp 파일을 컴파일하고 실행 파일을 생성합니다. 빌드가 완료되면 builddir 폴더에 실행 파일이 생성됩니다.
5. 프로그램 실행
빌드가 완료되면 생성된 실행 파일을 실행할 수 있습니다.
- 다음 명령어로 helloworld 프로그램을 실행합니다:
cd builddir
helloworld.exe
실행하면 **"Hello, World!"**가 출력됩니다.
6. 프로젝트 구조 요약
최종적으로 프로젝트 폴더는 다음과 같은 구조를 가집니다:
HelloWorld/
│
├── src/
│ └── main.cpp
│
├── meson.build
└── builddir/
└── (빌드 파일 및 실행 파일)
7. 정리
Windows에서 Meson과 Ninja를 사용하여 간단한 C++ 프로젝트를 빌드하는 방법을 알아보았습니다. Meson은 선언적 방식으로 빌드 과정을 정의하고, Ninja는 빠른 빌드를 제공하므로, 대규모 프로젝트에서도 효율적으로 사용할 수 있습니다.
빌드 자동화를 통해 프로젝트 관리와 빌드를 쉽게 처리할 수 있으니, 다양한 프로젝트에서 Meson과 Ninja를 활용해 보세요!
'임베디드 관련 카테고리 > C++' 카테고리의 다른 글
CMake와 Meson에서 만든 정적 라이브러리 .a 파일, 호환이 될까? (0) | 2025.04.11 |
---|---|
C++ 빌드 개념과 오브젝트 파일(.o), 정적 라이브러리(.a), 링커 이해하기 (0) | 2025.04.11 |
C++와 TensorFlow를 이용한 쓰레기 이미지 분류 (2) | 2024.07.25 |
댓글