문서의 이전 판입니다!
들어가며
c와 c++은 개발자가 세심하게 조정할 수 있다는게 장점이자 단점이다. 컴파일 역시 하나 하나 라이브러리를 다 제대로 링크해 주어야 한다.
그런데 프로젝트의 크기가 커지다 보면 컴파일 명령어에 넣어야 할 변수들이 너무 많아지기 마련이다.
그렇기 때문에 makefile을 만들어서 매크로화 하여 컴파일하기 마련이다.
이하에서는 raylib를 이용하여 간단하게 컴파일 기초부터 시작하여 makefile을 만들고, 라이브러리화 하는 것까지 알아 볼 예정이다.
소스파일을 통하여 raylib 실행해 보기
1. git clone
Raylib 설치 및 실행하기에서는 Itch.io에서 raylib 실행파일을 다운받아서 설치했었다. 그런데 사실 같이 딸려오는 notepad++이나 mingw는 우리에게 필요가 없다. 우리는 이미 이러한 것들이 있기 때문이다. 따라서 github에서 raylib의 최신버전을 먼저 가져오겠다.
먼저 아무드라이브에 raylib를 다운 받을 폴더를 만들자. 그 이후에 cmd를 쳐서 명령창으로 간 후 다음의 명령어를 실행한다.
git clone https://github.com/raysan5/raylib.git
github 내에서 raylib 리포지터리를 찾은 후 코드를 누르면 클론 할 수 있는 git 주소가 나타난다.
그 주소를 커맨드라인 창에서 git clone 다음에 넣으면 raylib 소스파일이 내가 만들어 둔 폴더에 설치가 된다.
마우스 우클릭을 하여 Git Bash Command로 들어간 후에 위 명령을 실행해도 되지만, 굳이 그렇게 할 필요 없다. 커맨드창에서도 git 명령어는 실행된다.
자 이제 raylib 소스파일을 가져왔다.
2. hello world 파일 컴파일해보기
raylib5 폴더(이하에서는 루트폴더라고 하자)에 exaples/core 폴더에 있는 core_basic_window.c 파일을 복사하자. 이제 이 루트폴더에서 컴파일을 해 볼 것이다. 편의상 core_basic_window.c 파일의 이름을 helloworld.c라고 변경하였다.
c는 gcc.exe, c++은 g++.exe가 컴파일 프로그램이다. 이를 이용해서 컴파일을 해야 한다.
다음 명령어를 넣어 보자.
gcc -Wall -std=c99 -Wno-missing-braces -Wunused-result helloworld.c
-Wall -std=c99 -Wno-missing-braces -Wunused-result 의 플래그는 굳이 지금단계에서 알 필요는 없다. 그냥 관용적으로 넣는다고 생각하면 편하다. 그 의미에 대해 알고 싶으면 raylib에 딸려오는 makefile을 살펴보면 각 플래그 마다의 뜻이 자세히 적혀 있다.
컴파일을 해보면 raylib만의 고유 함수들인 'InitWindow', 'SetTargetFPS' 등이 'undefine' 즉 정의되어 있지 않다고 한다.
3. 라이브러리 추가하기
raylib를 사용하려면 정의 파일인 raylib.h와 raylib그에 대한 구현 파일인 라이브러리 파일이 필요하다.
raylib/src
폴더로 이용한다.
여기에는 라이브러리 파일을 묶을 수 있는 소스파일들이 존재한다. 여기에서 커맨드라인에서 'make' 명령어를 실행해본다.
따라서 정의파일인 raylib.h를 인클루드 해줘야 한다.
헤더파일을 인클루드 하려면 -I라는 플래그를 적어준다.
로그인