免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2821 | 回复: 1
打印 上一主题 下一主题

GTK+2.0 编译的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-26 20:15 |只看该作者 |倒序浏览
#include <gtk/gtk.h>
                                                                                                                                               
gint destroyapp(GtkWidget *widget, gpointer gdata)
{
    g_print("quitting--\n");
    gtk_main_quit();
                                                                                                                                               
    return (FALSE);
}
                                                                                                                                               
int main(int argc, char *argv[])
{
    GtkWidget *window;
                                                                                                                                               
    gtk_init(&argc, &argv);  //Initialize gtk
                                                                                                                                               
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);  //Create a window
                                                                                                                                               
    //Call destroyapp() when the window gets a "delete_event" signal
    gtk_signal_connect(GTK_OBJECT(window), "delete_event",
            GTK_SIGNAL_FUNC(destroyapp), NULL);
                                                                                                                                               
    gtk_widget_show(window);  //Make the window visible
                                                                                                                                               
    gtk_main();  //This is the event loop in gtk
                 //Do not return until gtk_main_quit() is called
                                                                                                                                               
    return 0;
}



[sihan@localhost pro02]$ gcc 02.c -o 02 -Wall -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED `pkg-config gtk+-2.0 --cflags --libs`
02.c: In function `main':
02.c:20: warning: implicit declaration of function `gtk_signal_connect'
/tmp/ccKyrEXn.o(.text+0x7d): In function `main':
: undefined reference to `gtk_signal_connect'
collect2: ld returned 1 exit status

还有这个函数也是:
[sihan@localhost pro03]$ make
gcc 03.c -o 03 -Wall -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED `pkg-config gtk+-2.0 --cflags --libs`
03.c: In function `main':
03.c:24: warning: implicit declaration of function `gtk_container_border_width'
/tmp/ccpHcZ5s.o(.text+0xc4): In function `main':
: undefined reference to `gtk_container_border_width'
collect2: ld returned 1 exit status
make: *** [03] Error 1

这是为什么?

而我把gtk_signal_connect()换成g_gtk_connect()就可以运行了.
g_signal_connect()和gtk_signal_connect有什么区别?

---------------------------------------------------------------------------------
附带2个问题
运行 umount时出现

[root@localhost root]# umount /mnt
umount: /mnt: device is busy
这是怎么回事,怎么解决?

用make install 安装的程序怎么删除?
是运行 make uninstall吗?
有什么办法查看安装到哪里了?

论坛徽章:
0
2 [报告]
发表于 2006-07-29 00:16 |只看该作者
GTK+ Reference Manual 中有这样一段说明:
  1. Warning
  2. gtk_signal_connect is deprecated and should not be used in newly-written code. Use g_signal_connect() instead.
复制代码

gtk_container_border_width 和上面的情况一样。

显然,如果想编译你的程序,应该把编译选项中的 -DGTK_DISABLE_DEPRECATED 去掉,或者替换为相应的推荐函数。

=============
如果 /mnt 目录中的文件或者目录正在被使用,则可能不能正常 umount。可退出从这个目录中执行的程序或者将当前工作目录不设置在其下的目录中来解决这一问题。

=============
如果在 Makefile 中提供了 uninstall 目标的话,一般可用 make uninstall 来删除。不过,并不是所有的软件都提供 uninstall。此时,如果想将安装的软件删除的话,可手工删除。

手工删除需要了解软件安装到哪里去了。最保险但是又是较麻烦的方法是将 make install 的输出信息重订向到一个文件中,然后从这个文件中了解软件的各个文件及其安装的位置。如果是用 GNU Build System 支持制作的软件包,一般用 make uninstall 即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP