열렬히.뛰기

mlx : 시작하기

école 42 > fdf (fil de fer) > mlx & 그래픽 기초 > mlx : 시작하기

mlx 설치하기

2016, 2019, 2021 버전 중 하나를 설치하면 된다. (본인은 2021 버전을 선택)

다운 후 압축파일을 풀고, 라이브러리를 실행시키기 위해 makefile을 만든다.

기본적인 세팅

검은 화면만을 띄우기 위해서는 다음 코드가 필요하다.

c
#include "fdf.h"

int main(void)
{
    void    *mlx;
    void    *mlx_win;

    mlx = mlx_init();
    mlx_win = mlx_new_window(mlx, 1920, 1080, "hello world");
    mlx_loop(mlx);
}

헤더파일은 다음과 같이 설정한다. (이름은 fdf.h)

c
#ifndef FDF_H
# define FDF_H
# include "./minilibx/mlx.h" // mlx가 들어가 있는 폴더의 헤더파일을 쓴다.

#endif

창 띄우기 설명

mlx_init() : 시작함수

mlw_new_window() : 새 창을 띄우는 함수

  • 변수 mlx, 가로 길이, 세로 길이, 제목을 넣어준다.

mlx_loop() : 창을 계속 띄워주는 함수

makefile : mlx 엮기

제일 중요한 부분! 이걸 못해서 헤매는 경우가 상당히 많다.

makefile
NAME = fdf
CC = cc
MLX_DIR = ./minilibx
CFLAGS = -L$(MLX_DIR) -lmlx -framework Cocoa -framework Metal -framework MetalKit -framework QuartzCore -o $@
SRCS = fdf.c
OBJS = $(SRCS:.c=.o)

all : $(NAME)

$(NAME) : $(OBJS)
	make -C $(MLX_DIR)
	cp $(MLX_DIR)/libmlx.dylib .
	$(CC) $(CFLAGS) $(OBJS) -o $(NAME)

clean :
	make -C $(MLX_DIR) clean
	rm -rf libmlx.dylib
	rm -rf $(OBJS)

fclean : clean
	rm -rf $(NAME)

re : fclean all

.PHONY : all clean fclean re
  1. libmlx.dylib라는 파일이 꼭 필요하다. 없으면 에러 뜬다.

    따라서 minilibx 디렉토리에서 해당 파일을 복사한다.

  2. -L 옵션 : 라이브러리 파일이 위치한 디렉토리 경로를 지정

    -l 옵션 : 컴파일러가 필요한 라이브러리 파일의 이름을 지정

  3. -framework 옵션 : 특정 프레임워크를 사용할 때 쓰는 옵션

    애플 고유의 프레임워크인 Cocoa, Metal, MetalKit, QuartzCore를 써야한다.