java ntu,ukntu上的gtk helloworld编译错误

博主在Ubuntu上安装libgtk-3-dev后,尝试使用GTK进行编程,遇到编译问题并寻求解决。文章探讨了`hello_world.c`中的代码,涉及回调函数和gtk_map API,目标是实现从GPS坐标到路径导航。读者将发现如何解决编译错误,并了解基本的GTK应用开发入门知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我用命令sudo apt-get install libgtk-3-dev在ubuntu上安装了gtk

然后我将代码复制到vi编辑器中

我在GTK中为helloworld复制了以下代码,这给出了编译错误

#include

/* this is a callback function. the data arguments are ignored in this example..

* More on callbacks below. */

void hello (GtkWidget *widget, gpointer *data)

{

g_print ("Hello World\n");

}

/* another callback */

void destroy (GtkWidget *widget, gpointer *data)

{

gtk_main_quit ();

}

int main (int argc, char *argv[])

{

/* GtkWidget is the storage type for widgets */

GtkWidget *window;

GtkWidget *button;

/* this is called in all GTK applications. arguments are parsed from

* the command line and are returned to the application. */

gtk_init (&argc, &argv);

/* create a new window */

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

/* when the window is given the "destroy" signal (this can be given

* by the application, or the window manager, the function destroy

* will be called as defined above. The data passed to the callback

* function is NULL and is ignored in the callback. */

gtk_signal_connect (GTK_OBJECT (window), "destroy",

GTK_SIGNAL_FUNC (destroy), NULL);

/* sets the border width of the window. */

gtk_container_border_width (GTK_CONTAINER (window), 10);

/* creates a new button with the label "Hello World". */

button = gtk_button_new_with_label ("Hello World");

/* When the button receives the "clicked" signal, it will call the

* function hello() passing it NULL as it's argument. The hello() function is

* defined above. */

gtk_signal_connect (GTK_OBJECT (button), "clicked",

GTK_SIGNAL_FUNC (hello), NULL);

/* This will cause the window to be destroyed by calling

* gtk_widget_destroy(window) when "clicked. Again, the destroy

* signal could come from here, or the window manager. */

gtk_signal_connect_object (GTK_OBJECT (button), "clicked",

GTK_SIGNAL_FUNC (gtk_widget_destroy),

GTK_OBJECT (window));

/* this packs the button into the window (a gtk container). */

gtk_container_add (GTK_CONTAINER (window), button);

/* the final step is to display this newly created widget... */

gtk_widget_show (button);

/* and the window */

gtk_widget_show (window);

/* all GTK applications must have a gtk_main(). Control ends here

* and waits for an event to occur (like a key press or mouse event). */

gtk_main ();

return 0;

}

然后我编译了

gcc -Wall -g HelloWorld.c -o hello_world -L/usr/X11R6/lib -lglib -lgdk -lgtk -lX11 -lXext -lm

它给出了编译错误

HelloWorld.c:4:25:致命错误:gtk / gtk.h:没有这样的文件或目录#include

找到gtk.h给出/home/user/linux-3.13.0/tools/perf/ui/gtk/gtk.h

我想使用gtk从一个GPS坐标转向另一个使用最短路径的坐标 . 可能吗? gtkmap API怎么样?我在哪里可以找到更多细节和示例?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值