목차
소개
윈도우에서는 실행파일에 별도의 아이콘을 설정할 수 있다.
또한 윈도우창에서도 왼쪽 상단에 아이콘을 나오게 할 수 있다.
참고로 리눅스에서는 각 실행파일마다 별도의 아이콘을 설정해 주는 것은 불가능하다.
물론 데스크탑환경설정을 통해 데스크톱에서 바로 가기를 만들어주고 거기에 아이콘을 설정할 수는 있으나, 별도의 실행파일마다 아이콘을 설정해 주는 것은 불가능하다.
따라서 아래에서 설명하는 방법은 윈도우 환경에서만 가능함을 유의하라
실행파일 아이콘 만들기
1. 그림파일 준비
우선 아이콘을 만들어야겠다. 각자가 아이콘으로 쓸 파일을 그림 파일(예 : png파일)로 만들자.
나 같은 경우에는 서당개 그림을 만들었다.
코파일럿이나 각자가 좋아하는 AI에게 아이콘으로 쓸 그림을 만들어달라고 하면 금방 만들어주긴 할 거다.
2. 그림파일을 아이콘 파일로 만들기
그림파일을 아이콘으로 변환하자
난 ConvertIO 사이트를 이용했다. 구글에서 “png to ico”로 검색하면 사이트들이 많으니 각자 취향것 ico파일로 변환하자
3. 아이콘 리소스 만들기
가. rc파일 만들기
메모장으로 확장자가 “.rc”인 파일을 만들자. 나는 “seodang.rc”파일을 만들었다.
그리고 다음과 같이 메모장이나 텍스트 에디터로 채우면 된다.
// The syntax is: ResourceNameID ResourceType "filename.ico" MAINICON ICON "my_app_icon.ico"
내 경우는 “seodang.ico” 파일이므로 다음과 같이 작성하였다.
- "seodang.rc"
MAINICON ICON "seodang.ico"
나. rc파일 컴파일
윈도우 환경에서만 가능한 경우이므로 사실 Visual Studio 등에서 아이콘 리소스 파일을 만드는게 가능하다.
그런데 Mingw에서 제공하는 툴로 만들어보자. Mingw는 windres.exe라는 툴을 제공한다.
위에서 만든 rc파일과 ico파일이 있는 폴더에서 다음의 명령어를 터미널에서 치면 된다.
windres seodang.rc -O coff -o seodang_res.o
그러면 “seodang_res.o” 라는 파일이 만들어진다.
아웃풋 파일은 아무이름으로나 만들면 된다. raylib에서 제공하는 아이콘 리소스 파일처럼 “seodang.rc.data”로 만들어도 아무 상관 없다.
4. 프로텍트 컴파일시 같이 컴파일
이제 위에서 만든 아이콘 리소스 파일을 실행파일 컴파일시 같이 링크하여 컴파일하면 된다.
컴파일러 옵션 부분의 맨 하단에 위 리소스파일을 같이 넣어주면 된다.
Makefile의 예시는 다음과 같다.
#Icon file path ICON += icon/seodang_res.o #목적 파일 만들기 OBJS = $(OBJ_DIR)/main.o #컴파일 tetris : $(OBJS) $(CC) $(CFLAGS) $(OBJS) -o tetris $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS) $(ICON)
그러면 다음과 같이 실행파일 아이콘이 내가 원하는 아이콘으로 바뀌어서 만들어진다.
관련된 Makefile의 예시는 테트리스 강좌에서 올려놓았다.
윈도우 창 아이콘 설정하기
윈도우 창의 왼쪽 상단에 있는 아이콘을 바꾸는 것은
SetWindow() 함수를 이용한다.
여기에서 주의할 것은, png파일을 사용해야 한다는 것이다. 전통적인 파일인 ico를 인자로 넣으면 실행이 되지 않는다.
그리고 반드시 윈도우를 만들고 나서 SetWindow()함수를 불러와야 한다.
즉, InitWindow()뒤에 넣어줘야 한다.
예시코드는 다음과 같다.
InitWindow(screenWidth, screenHeight, "Tetris"); Image icon = LoadImage("Icon/Seodang.png"); SetWindowIcon(icon);
이렇게 윈도우 창의 아이콘을 바꾸면 Raylib에서 기본으로 제공하는 아이콘은 필요가 없게 된다.




로그인