我在摆弄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