gpt4 book ai didi

eclipse - 在Eclipse中编译C/GTK

转载 作者:行者123 更新时间:2023-12-04 06:13:07 30 4
gpt4 key购买 nike

我在摆弄Eclipse的C/C++版本,以构建一个简单的GTK应用程序。但是,我似乎无法从Eclipse内编译GTK示例。我可以编译一个简单的Hello World风格的测试应用程序,因此我知道工具链本身正在运行。但是,当我开始将GTK添加到混音中时,编译器会出现错误。有趣的是,我可以在Eclipse环境之外编译示例。例如,我正在使用this页面上的示例,并按照此处给出的说明来构建有效的二进制文件。

我认为第一个问题是,当我尝试在Eclipse中进行编译时,主要GTK包含文件的引用方式有所不同。我可以编译的非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

不知道如何去做。任何帮助将不胜感激。

最佳答案

右键单击Eclipse项目,然后选择属性。从“配置”下拉列表中,选择[ All configurations ]。然后在“工具设置”选项卡上,选择GCC C Compiler(默认),并将以下内容添加到结尾的Command line pattern(专家设置)框中:

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

GCC C Linker选项执行相同的操作。

如果您不想以gtk-2.0开头包含路径,则还建议像aardvark一样添加包含目录(/usr/include/gtk-2.0)。

关于eclipse - 在Eclipse中编译C/GTK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1315091/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com