我在擺弄Eclipse的C/C++版本來構建一個簡單的GTK應用程序。但是,我似乎無法在Eclipse中編譯GTK示例。我可以編譯一個簡單的Hello World樣式測試應用程序,所以我知道工具鏈本身正在工作。但是,當我開始在混合中添加GTK時,編譯器會出現錯誤。有趣的是,我可以在Eclipse環境以外編譯示例。例如,我使用this頁面上的示例,並按照給出的說明讓我構建一個工作二進制文件。在Eclipse中編譯C/GTK
我想第一個問題是,主GTK包括文件,當我試圖在Eclipse編譯的不同引用。我可以編譯的非Eclipse版本(如示例中所示):
#include <gtk/gtk.h>
但是,在Eclipse中這不起作用。我需要將其更改爲:
#include <gtk-2.0/gtk/gtk.h>
的包括然後文件可以被找到,但隨後編譯過程開始扔有關的GtkWidget類型的錯誤。例如: -
#include <gtk-2.0/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;
}
結果這些錯誤:
make all
Building file: ../src/main.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/main.d" -MT"src/main.d" -o"src/main.o" "../src/main.c"
../src/main.c: In function ‘main’:
../src/main.c:7: error: ‘GtkWidget’ undeclared (first use in this function)
../src/main.c:7: error: (Each undeclared identifier is reported only once
../src/main.c:7: error: for each function it appears in.)
../src/main.c:7: error: ‘window’ undeclared (first use in this function)
../src/main.c:9: warning: implicit declaration of function ‘gtk_init’
../src/main.c:11: warning: implicit declaration of function ‘gtk_window_new’
../src/main.c:11: error: ‘GTK_WINDOW_TOPLEVEL’ undeclared (first use in this function)
../src/main.c:12: warning: implicit declaration of function ‘gtk_widget_show’
../src/main.c:14: warning: implicit declaration of function ‘gtk_main’
make: *** [src/main.o] Error 1
不知道如何去了解這一點。任何援助將非常感激。
我無法找到配置下拉列表。可以請你幫我? – 2012-04-19 06:02:05
您使用的是哪個版本的Eclipse,以及您創建了哪種類型的項目?原來的問題是從'09開始的,所以事情可能會在Eclipse UI中發生變化或發生一些變化。 – Luke 2014-03-04 23:18:00