2011-02-04 81 views
0

我真的需要获得一个简单的GTK程序在使用MinGW运行C++中的帮助。这是我的计划:C++ GTK使MinGW错误简单的程序

# Makefile for Hello World Program (lab0). 

all: lab0 

lab0: lab0.o 
    g++ -Wall lab0.o -o lab0 -L C:/Users/Vic/Desktop/MinGW/lib -lgtk 

lab0.o: lab0.c 
    g++ -Wall -I C:/Users/Vic/Desktop/MinGW/include/gtk-2.0/gtk -c lab0.c -o lab0.o 

计划:

#include <gtk/gtk.h> 

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

    gtk_init (&argc, &argv); 

    /* create the main, top level, window */ 
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL); 

    /* give it the title */ 
    gtk_window_set_title (GTK_WINDOW (window), "Hello World"); 

    /* Connect the destroy signal of the window to gtk_main_quit 
    * When the window is about to be destroyed we get a notification and 
    * stop the main GTK+ loop 
    */ 
    g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); 

    /* Create the "Hello, World" label */ 
    label = gtk_label_new ("Hello, World"); 

    /* and insert it into the main window */ 
    gtk_container_add (GTK_CONTAINER (window), label); 

    /* make sure that everything, window and label, are visible */ 
    gtk_widget_show_all (window); 

    /* start the main loop, and let it rest there until the application is closed */ 
    gtk_main(); 

    return 0; 
} 

当我编译这个使用的MinGW我得到这个错误:

g++ -Wall lab0.o -o lab0 -LC:/users/vic/desktop/mingw/lib -lgtk 
/bin/Id: cannot find -lgtk 
collect2: Id returned 1 exit status 
make: *** [lab0] Error 1 

我需要解决这个问题,我需要弄清楚如何从我的makefile运行gtk。

+0

你已经安装了libgtk你的机器? – 2011-02-04 19:14:44

回答

1

理想情况下,你可以使用pkg配置,以帮助您找到头文件和库路径:

g++ -Wall lab0.o -o lab0 `pkg-config --cflags --libs gtk+-win32-2.0` 

或者只是库路径:

g++ -Wall lab0.o -o lab0 -LC:/users/vic/desktop/mingw/lib -lgtk `pkg-config --libs gtk+-win32-2.0` 
+0

你也可以修正你的cmd上的gtk链接,这应该是`-lgtk + -win32-2.0` – karlphillip 2011-02-04 19:36:56