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
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
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 |