GTK+ 3 설정
2015.03.01 00:36
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)를 받아서 이클립스 폴더에 압축 풀어주면 끝이다.
컴파일 할 때, 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 버튼 클릭
빌드는 알아서.
여기까지하면 프로젝트 빌드는 문제가 없지만, GTK 패스 설정 문제로 컴파일된 파일이 실행이 안되므로, 풀다운메뉴 Run > Run Configurations 항목을 클릭하여 Path를 추가한다.
끝.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
16 | 피씨방스튜디오 만들기 #번외4 - Go 준비 | 꿈돌이 | 2018.07.14 | 935 |
15 | VSCode 터미널에서 - Powershell 프롬프트 경로 짧게 하기 | 꿈돌이 | 2018.06.29 | 784 |
14 | 피씨방스튜디오 만들기 #번외3 - Python(3.x) 준비 | 꿈돌이 | 2018.03.16 | 749 |
13 | 피씨방스튜디오 만들기 #번외2 - PostgreSQL 준비 | 꿈돌이 | 2017.11.02 | 605 |
12 | 피씨방스튜디오 만들기 #번외1 - Node.js 준비 | 꿈돌이 | 2017.09.19 | 736 |
11 | 피씨방스튜디오 만들기 #4/4 - 취합 및 마무리 | 꿈돌이 | 2017.09.08 | 810 |
10 | 피씨방스튜디오 만들기 #3/4 - NginX, PHP 준비 | 꿈돌이 | 2017.09.08 | 815 |
9 | 피씨방스튜디오 만들기 #2/4 - MariaDB, HeidiSQL 준비 | 꿈돌이 | 2017.09.07 | 842 |
8 | 피씨방스튜디오 만들기 #1/4 - vscode 포터블 설정 | 꿈돌이 | 2017.09.07 | 2002 |
7 | VSCode 외 웹서버 및 node.js 등 포터블 설정 백업 | 꿈돌이 | 2017.03.21 | 963 |
6 | VSCode 다중커서 | 꿈돌이 | 2017.02.28 | 19567 |
5 | External tools, Run 설정 이전 | 꿈돌이 | 2016.06.02 | 721 |
4 | C/C++ CDT/MinGW32에서 pthread 사용하기 | 꿈돌이 | 2015.03.03 | 5459 |
» | GTK+ 3 설정 | 꿈돌이 | 2015.03.01 | 2053 |
2 | CDT(c c++ development tools) 및 MinGW / MSYS 설정 | 꿈돌이 | 2015.02.26 | 3493 |
1 | 이클립스 최소판을 포터블형식으로 만들기 | 꿈돌이 | 2015.02.22 | 1299 |