开发者社区> 问答> 正文

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

展开
收起
a123456678 2016-03-23 13:51:19 2175 0
1 条回答
写回答
取消 提交回答
  • Gtk-WARNING **: cannot open display:
    错误了,然后我感觉是因为我安装完gtk+3和相关的组件之后没有重启,所以有的组件还没有被load,于是我重启了一下电脑再编译运行就一切正常了

    2019-07-17 19:10:50
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载