cxzlzy 2015-07-18 07:25 采纳率: 80%
浏览 1890
已采纳

mac下编译GTK+3.0的“Hello,World”程序出错

我用homebrew下载安装好了gtk+3,然后试着编译了一个网上的示例代码:

 #include <stdio.h>

#include <stdlib.h>

#include <gtk/gtk.h>



static gboolean delete_event(GtkWidget * widget, GdkEvent * event,

        gpointer data) {

    gtk_main_quit();

    return FALSE;

}



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

    GtkWidget *window;

    GtkWidget *label;



    gtk_init(&argc, &argv);



    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);

    gtk_window_set_title(GTK_WINDOW(window), "RobberPhex");

    gtk_window_set_default_size(GTK_WINDOW(window), 400, 300);



    g_signal_connect(window, "delete-event", G_CALLBACK(delete_event), NULL);

    gtk_container_set_border_width(GTK_CONTAINER(window), 10);



    label = gtk_label_new("Hello GTK!");

    gtk_container_add(GTK_CONTAINER(window), label);

    gtk_widget_show(label);



    gtk_widget_show(window);



    gtk_main();



    return 0;

}

用gcc编译:

 gcc testGTK.c -o testGTK `pkg-config --cflags --libs gtk+-3.0`

结果运行的时候出错了,错误信息是:

 Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!

(testGTK:62547): Gtk-WARNING **: cannot open display:

结果在Google找了好久都没找到为什么会这样 T T

  • 写回答

1条回答 默认 最新

  • cxzlzy 2015-07-18 14:39
    关注

    我去网上找了一下load了d-bus然后只剩下

     Gtk-WARNING **: cannot open display:
    

    错误了,然后我感觉是因为我安装完gtk+3和相关的组件之后没有重启,所以有的组件还没有被load,于是我重启了一下电脑再编译运行就一切正常了

    抱歉打扰大家的时间线了,希望之后遇到和我一样问题的同学可以借鉴一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 wamp3.3.5安装完成后图标正常显示绿色,鼠标左右键点击图标均无反应。求解决方法。
  • ¥15 鼠标点击的这条记录了什么?
  • ¥15 在写pid调速的程序时,电机始终维持最大速度
  • ¥15 请问如何查看手机root记录?
  • ¥15 商城小程序订单号重复
  • ¥15 学校优化算法sbo和蚁群算法怎么结合
  • ¥21 matlab怎么求时域信号的二阶导数
  • ¥15 判断两个表是否完全相同
  • ¥15 java map类型数据格式,如何快速通过前缀匹配元素
  • ¥15 stc12c5a60s2、QMC5883L、LCD1602组合测量磁场所需程序