카테고리 없음

GTK-2.0 빌드 에러 문제

벅스바니 2010. 1. 20. 22:33
GTK 2.0을 깔고 나서 간단한 예제를 실행했습니다.

아주 간단한 예제이지요.


#include <gtk/gtk.h>

int main (int argc, char *argv[])
{
GtkWidget *window;

gtk_init (&argc, &argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_show (window);

gtk_main ();

return 0;
}

이것을 빌드하려면 컴파일이나 빌드할 때 주의 해야합니다.
일단 gtk를 인스톨 해야함은 물론이거니와,
gcc에서 컴파일이나 링크를 할 때도 반도시 아래와 같은 문자열을 반드시 명령줄에 들어가도록 설정해야만 합니다.

주의 할 점은 컴파일시에도 들어가야하고, 빌드시에도 들어가야합니다!!!

`pkg-config --cflags --libs gtk+-2.0`


컴파일시에 안들어가면 위의 소스에서

#include <gtk/gtk.h>

라인에서 못찾는다고 나오고,

링크시에 안들어가면,

라이브러리를 못찾는 다고 나옵니다. (-lgtk -lgdk....이런거 다 안먹더군요....)


빌드하면 다음과 같이 실행됩니다.

make -k all
Building file: ../main.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 `pkg-config --libs --cflags gtk+-2.0` -MMD -MP -MF"main.d" -MT"main.d" -o"main.o" "../main.c"
Finished building: ../main.c
Building target: gtktest
Invoking: GCC C Linker
gcc `pkg-config --cflags --libs gtk+-2.0` -o"gtktest" ./main.o -lX11 -lXext -lm
Finished building target: gtktest
Build complete for project gtktest



아래는 우분투에서 실행했을때 간단하게 gtktest 라는 윈도우가 생성되는 것을 보여줍니다.