메뉴 건너뛰기

enjoyTools.net

GTK+ 3 설정

2015.03.01 00:36

꿈돌이 조회 수:2053

CDT(c c++ development tools) 및 MinGW / MSYS 설정에서 만든 작업물에 GTK+ 3를 사용 가능하게 추가 작업.


#1. 설치

http://www.gtk.org/download 페이지로 이동하여, 32비트 또는 64비트(no안정)

인터넷에서 검색을 해보면 컴파일이니 뭐니 말이 많은데, 지금 하려는 이 환경(윈도우, MinGW/MSYS)에서는

위 다운로드 페이지에서 all-in-one bundle(32bit) 또는 all-in-one bundle(64bit)를 받아서 이클립스 폴더에 압축 풀어주면 끝이다.

eclipse_gtk_복사.png


컴파일 할 때, GTK+ 관련 내용은 pkg-config라는 물건으로 옵션을 잡아주는 것 같다.

이클립스의 C/C++ 빌드옵션에서 이를 잡아주는 것도 가능하고, 아래와 같이 플러그인을 추가하는 것도 가능하다.


Pkg-config support for Eclipse CDT 설치

이클립스에서 풀다운메뉴 Help > Install New Software 클릭 후, 아래 주소를 추가하여 플러그인을 설치한다.

http://petrituononen.com/pkg-config-support-for-eclipse-cdt/update 


#2. 환경설정

Pkg-config support 설치 후, CDT/MinGW 설정할 때처럼 새 프로젝트를 열면 Executable 항목에 Hello World GTK+ Project 라는 항목이 생긴다.

이걸 쓰거나 Blank Project를 쓰던 새로운 프로젝트를 생성했으면 그 내용을 아래의 것으로 바꾼다.

/*
 ============================================================================
 Name        : GTK_hello_world.c
 Author      : swshin
 Version     : not versioned
 Copyright   : team maniac.
 Description : Hello World in GTK+
 ============================================================================
 */

/* https://developer.gnome.org/gnome-devel-demos/stable/beginner.c.html.en */
/* https://developer.gnome.org/gtk3/stable/gtk.html */
/* https://developer.gnome.org/gtk3/stable/index.html */

#include <gtk/gtk.h>

/* 콜백함수 */
static void notice_closed(GtkWidget *widget, gpointer data) {
 g_print("Window closed.\n");
}

int main(int argc, char** argv) {

 /* 위젯 객체 선언 */
 GtkWidget *window;
 GtkWidget *button;

 /* GTK 초기화, 메인창의 변수를 window로 선언 */
 gtk_init(&argc, &argv);
 window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

 /* 메인창의 형태, 속성 지정 */
 gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
 gtk_window_set_default_size(GTK_WINDOW(window), 150, 70);
 gtk_window_set_title(GTK_WINDOW(window), "Here is area for title");
 gtk_container_set_border_width(GTK_CONTAINER(window), 10);

 /* 추가 위젯 선언 */
 button = gtk_button_new_with_label("Hello World");

 /* 버튼 클릭 등의 이벤트 처리. 필요시 추가 정의된 콜백함수 호출 */
 g_signal_connect(button, "clicked", G_CALLBACK (notice_closed), NULL);
 g_signal_connect_swapped(button, "clicked", G_CALLBACK (gtk_widget_destroy), window);
 g_signal_connect(window, "destroy", G_CALLBACK (gtk_main_quit), NULL);

 /* window 객체에 선언된 위젯 탑재 및 표시 */
 gtk_container_add(GTK_CONTAINER(window), button);

 /* 메인창 위젯 표시, 전체 표시 */
 gtk_widget_show_all(window);
 gtk_main();

 return 0;
}


GTK 라이브러리를 포함시키기 위해 프로젝트 속성(풀다운메뉴 Project > Properties)창 호출 후, 아래( 및 그림)대로 작업하면 GTK 라이브러리를 추가하여 컴파일 할 수 있다.

(단, 신규 프로젝트 생성할 때마다 매번 해주어야 한다.

그리고, 자리를 옮겨서 이클립스 경로가 바뀌어도 또 해주어야 한다.)

C/C++ Build > Settings > Pkg-config 탭 > Advanced 버튼 > gtk 상대경로 입력 > OK 버튼 클릭 > CTRL+A 전체선택 > Select 버튼 > Apply 또는 OK 버튼 클릭

eclipse_gtk_pkg-config_select.png


빌드는 알아서.


여기까지하면 프로젝트 빌드는 문제가 없지만, GTK 패스 설정 문제로 컴파일된 파일이 실행이 안되므로, 풀다운메뉴 Run > Run Configurations 항목을 클릭하여 Path를 추가한다.

eclipse_gtk_run-config.png


여기까지 진행되었다면, 컴파일 된 파일의 실행이 잘 되어야 한다.

eclipse_gtk_run-result.png


끝.