博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Gtk】feorda下gtk安装详解
阅读量:5332 次
发布时间:2019-06-14

本文共 2100 字,大约阅读时间需要 7 分钟。

feorda下gtk安装详解
 

 

1.yum在线安装gtk

   1)pkg-config -version查看pkg-config的版本(本机测试是0.25)
   2)安装必要组建:(在root权限下)
yum install gtk2 gtk2-devel gtk2-devel-docs
   3)可能还需要组建(可选,不行再装):
yum install gnome-devel gnome-devel-docs
   4)有些linux版本已经自带了gtk包,需要安装
yum install gtk2-devel
   5)安装成功后通过以下查看gtk版本(本机测试是2.24.13)
pkg-config --modversion gtk+-2.0
   6)在线安装的好处就是不需要自己处理依赖关系,但是对于学习来说,未必是一件好事。

2.源码安装gtk
   1)源码安装主要分为解压缩/配置/构建/安装等步骤
   2)主要依赖包有glib/atk/cairo/pango/gtk+
   3)根据软件包之间的相互依赖关系,需要按照glib/atk/cairo/pango/gtk+的顺序安装
   4)从上面的在线安装gtk可以看到gtk的依赖关系
解决依赖关系--> 执行事务检查---> 软件包 gtk2-devel.i686.0.2.24.13-1.fc17 将被 安装--> 处理依赖关系 pango-devel >= 1.20.0-1,它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要--> 处理依赖关系 cairo-devel >= 1.6.0-1,它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要--> 处理依赖关系 atk-devel >= 1.29.4-2,它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要--> 处理依赖关系 pkgconfig(pangoft2),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要--> 处理依赖关系 pkgconfig(pangocairo),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要--> 处理依赖关系 pkgconfig(pango),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要--> 处理依赖关系 pkgconfig(gdk-pixbuf-2.0),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要--> 处理依赖关系 pkgconfig(cairo),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要--> 处理依赖关系 pkgconfig(atk),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要--> 处理依赖关系 gdk-pixbuf2-devel,它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要--> 处理依赖关系 automake,它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要
 

3.gtk测试
   1)首先编写了一个简单的gtk程序作为测试
   2)源代码
//gtk_test.c#include 
int main( int argc, char *argv[] ){GtkWidget *window;gtk_init(&argc, &argv);window = gtk_window_new(GTK_WINDOW_TOPLEVEL);g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL);gtk_window_set_title(GTK_WINDOW(window),"Hello World!");gtk_widget_show(window);gtk_main();return 0;}
 
 

3)编译排错
   编译命令:
gcc gtk_test.c -o gtk_test.out 'pkg-config --cflags --libs gtk+-2.0'
   gcc: 错误:
pkg-config --cflags --libs gtk+-2.0:没有那个文件或目录

4)解决方案
   去官网上发现命令如下:
gcc base.c -o base `pkg-config --cflags --libs gtk+-2.0`
   发现不同的是,
我用单引号' '包含命令,而官网是用倒引号 ` `包含命令,问题就在这,把''换成``后,编译成功。

 

5)执行效果

 


6)生成gtk应用

   在图中可以看见,一个简单的hello world标题的窗口就生成了

 

本文出自 “” 博客,请务必保留此出处

转载于:https://www.cnblogs.com/lcw/p/3159507.html

你可能感兴趣的文章
.net core 下监控Sql的执行语句
查看>>
.NET Core容器化@Docker
查看>>
Matlab随笔之指派问题的整数规划
查看>>
Mysql 多主一从数据备份
查看>>
从PRISM开始学WPF(九)交互Interaction?
查看>>
WPF 2D 碰撞检测
查看>>
理解newid()和newsequentialid()
查看>>
Visual Studio 2015 移动跨平台开发初体验
查看>>
浅谈AndroidManifest.xml与R.java及各个目录的作用
查看>>
VS 2015相当不错的功能:C#交互窗口
查看>>
【技巧】谷歌地图操作类
查看>>
使用Net.Mail、CDO组件、JMail组件三种方式发送邮件
查看>>
编写高质量代码改善C#程序的157个建议[勿选List<T>做基类、迭代器是只读的、慎用集合可写属性]...
查看>>
编写高质量代码改善C#程序的157个建议[避免finaly内的无效代码、避免嵌套异常、避免吃掉异常、注意循环异常处理]...
查看>>
Javascript中 new Date().valueOf()的作用,以及时间戳的由来
查看>>
Intellij IDEA下flex国际化配置
查看>>
事件处理程序
查看>>
A simple Test Client built on top of ASP.NET Web API Help Page
查看>>
maven项目搭建
查看>>
spring整合ehcache 注解实现查询缓存,并实现实时缓存更新或删除
查看>>