-
Notifications
You must be signed in to change notification settings - Fork 0
Build Guide
yoshin edited this page Feb 12, 2026
·
3 revisions
miniRT 빌드 및 설치 가이드입니다.
| 패키지 | 설명 |
|---|---|
| gcc | C 컴파일러 |
| make | GNU Make 3.81+ |
| libx11-dev | X Window System 라이브러리 |
| libxext-dev | X Extension 라이브러리 |
| libbsd-dev | BSD 호환 라이브러리 |
| 요구사항 | 설명 |
|---|---|
| Xcode Command Line Tools | clang, make 포함 |
| OpenGL + AppKit | macOS 기본 포함 |
# 서브모듈(libft) 포함 클론
git clone --recursive https://github.com/gdtknight/miniRT.git
cd miniRT서브모듈 누락 시:
git submodule update --init --recursivesudo apt-get update
sudo apt-get install libx11-dev libxext-dev libbsd-devmake # 빌드
make clean # 오브젝트 파일 삭제
make fclean # 오브젝트 + 실행 파일 삭제
make re # 전체 재빌드빌드 산출물:
-
miniRT— 실행 파일 -
build/— 오브젝트 파일
# 기본 실행
./miniRT scenes/valid/valid_smoke_simple.rt
# BVH 시각화 모드
./miniRT --bvh-vis scenes/valid/valid_scene_comprehensive.rtlib/libft/에 git 서브모듈로 관리됩니다. make 시 자동 빌드.
주요 사용 함수: ft_atof, ft_atoi, ft_strlcpy, ft_memset, ft_strcmp 등
lib/minilibx-macos/ (macOS)에 포함. Linux 빌드 시 별도로 minilibx-linux를 배치해야 합니다.
- Linux: X11 기반 그래픽 라이브러리
- macOS: AppKit/OpenGL 기반 그래픽 라이브러리
| 타겟 | 설명 |
|---|---|
all |
libft → MiniLibX → miniRT 순차 빌드 |
clean |
오브젝트 파일 삭제 (build/, MiniLibX, libft) |
fclean |
clean + 실행 파일 삭제 |
re |
fclean → all |
norm |
norminette 검사 (src/ + includes/) |
컴파일 플래그: -Wall -Wextra -Werror
링크 플래그:
- Linux:
-lmlx -lft -lXext -lX11 -lm - macOS:
-lmlx -lft -framework OpenGL -framework AppKit -lm
.github/workflows/ 에 4개의 워크플로가 설정되어 있습니다:
| 워크플로 | 트리거 | 설명 |
|---|---|---|
ci.yml |
push, PR | 빌드 검증 |
pr-validation.yml |
PR | PR 네이밍 컨벤션 검증 |
release.yml |
tag push (v*) | 릴리스 빌드 |
wiki-sync.yml |
tag push (v*), 수동 | docs/ → Wiki 동기화 |
# X11 라이브러리 누락
sudo apt-get install libx11-dev libxext-dev libbsd-dev
make regit submodule update --init --recursive
make re# 씬 파일 형식 확인
cat scenes/valid/valid_smoke_simple.rt
# 메모리 검사 (Linux)
valgrind --leak-check=full ./miniRT scenes/valid/valid_smoke_simple.rt