Couldn't find include 'Atk-1.0.gir'

1.把gtk+-3.22.0所依赖的包都编译安装了,并且都配置了LD_LIBRARY_PATH和PKG_CONFIG_PATH变量;

2.最后一步,编译gtk+-3.22.0,总是提示Couldn't find include 'Atk-1.0.gir',编译通不过。

Couldn't find include 'Atk-1.0.gir' (search path: ['../gdk', '/usr/share/gnome/gir-1.0', '/usr/local/share/gir-1.0', '/usr/share/gir-1.0', '/usr/local/share/gir-1.0', '/usr/share/gir-1.0', '/usr/local/share/gir-1.0'])

3.在电脑中收索Atk-1.0.gir文件,发现他在下载的atk-2.22.0源码中,

路径是/atk-2.22.0/atk/Atk-1.0.gir

4.索性我就把源码中的/atk-2.22.0/atk/Atk-1.0.gir文件拷贝到上述的提示路径中,我把他放在/usr/local/share/gir-1.0/里面,然后再编译竟然通过了;

最终没有找到合适的解决方法,暂且用此办法。

5.然后试着自己编译一个例子,GTK官网提供的;代码如下:

#include <gtk/gtk.h>


static void
activate (GtkApplication* app,
          gpointer        user_data)
{
  GtkWidget *window;


  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "Window");
  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);
  gtk_widget_show_all (window);
}


int
main (int    argc,
      char **argv)
{
  GtkApplication *app;
  int status;


  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);


  return status;
}

6编译执行,可以得到结果;

编译命令:

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

得到可执行文件example-0,然后执行;

$./example-0

得到窗体如下所示:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值