메뉴 건너뛰기

enjoyTools.net

GTK+ 3 설정

2015.03.01 00:36

꿈돌이 조회 수:2010

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


끝.

번호 제목 글쓴이 날짜 조회 수
36 php7.4 확장 꿈돌이 2024.04.20 0
35 sql server 우분투 클라이언트로 연결 꿈돌이 2023.11.01 19
34 vscode 리눅스에서 실행시 검은 화면 먹통 꿈돌이 2023.10.30 38
33 vscode 워크벤치 화면 이동 단축키 꿈돌이 2023.08.29 36
32 스크롤 할 때 함수명을 위쪽에 딱 붙이기 꿈돌이 2023.06.08 34
31 c_cpp 확장에서 goto definition이 header내 extern 으로만 넘어갈 때 꿈돌이 2023.06.08 2283
30 vscode c_cpp vcformat if else while 줄바꿈 안시키기 꿈돌이 2022.12.29 64
29 vscode 워크벤치 편집창에서 웹폰트 사용하기 꿈돌이 2022.09.21 156
28 vscode italic 설정 꿈돌이 2022.07.01 173
27 vscode 제안항목 트리거 취소 꿈돌이 2022.02.17 161
26 vscode 빈 패널 유지하기 꿈돌이 2021.10.07 71
25 vscode 1.60 이후 bracket pair colorizer 꿈돌이 2021.09.06 158
24 vscode 1.58 이후 편집창에 터미널 띄우기 꿈돌이 2021.07.09 246
23 vscode 1.55 이후 터미널 실행 내꺼 설정 꿈돌이 2021.05.17 78
22 vscode terminal 목록 켜기 꿈돌이 2021.05.07 72
21 VSCode git (Source Control)에 remote 표시 꿈돌이 2020.08.17 336
20 피씨방스튜디오 만들기 #번외6 - 닷넷코어 준비 꿈돌이 2019.01.02 633
19 피씨방스튜디오 만들기 #번외5 - JSP 준비 꿈돌이 2018.11.01 683
18 피씨방스튜디오에서 vscode 업데이트 꿈돌이 2018.09.06 573
17 vscode offline mode 설정 항목 꿈돌이 2018.08.18 3481