사용자 도구

사이트 도구


컴파일_및_makefile
컴파일 및 makefile

문서의 이전 판입니다!


들어가며

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 주소가 나타난다.

Raylib Git Clone

그 주소를 커맨드라인 창에서 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라는 플래그를 적어준다.

로그인하면 댓글을 남길 수 있습니다.

컴파일_및_makefile.1700571026.txt.gz · 마지막으로 수정됨: 2023/11/21 21:50 (바깥 편집)