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 <gtk/gtk.h>
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标题的窗口就生成了

本文出自 “成鹏致远” 博客,请务必保留此出处http://infohacker.blog.51cto.com/6751239/1155127

【Gtk】feorda下gtk安装详解的更多相关文章

  1. Windows下caffe安装详解(仅CPU)

    本文大多转载自 http://blog.csdn.net/guoyk1990/article/details/52909864,加入部分自己实战心得. 1.环境:windows 7\VS2013 2. ...

  2. Linux系统下Nginx安装详解

    该随笔为个人原创,后期会根据项目实践实时更新,如若转载,请注明出处,方便大家获得最新博文! 注:安装Nginx需要Linux系统已经安装   openssl-fips-2.0.2.tar.gz zli ...

  3. Linux 下 Redis 安装详解

    文章来源:www.oschina.net/question/12_18065 redis作为NoSQL数据库的一种应用,响应速度和命中率上还是比较高效的.项目中需要用集中式可横向扩展的缓存框架,做了一 ...

  4. windows下mongodb安装详解

    1.打开官网https://www.mongodb.com/download-center?jmp=nav#community 注:这里小伙伴们可是开启下FQ软件psiphon 3下载(不开启FQ好像 ...

  5. 【转】Linux下Android ADB驱动安装详解

    原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...

  6. Linux下tomcat的安装详解

    Linux下tomcat的安装详解 来源: ChinaUnix博客 日期: 2007.01.21 22:59 (共有0条评论) 我要评论 一,安装前的准备:1,Linux版本:我的是企业版.(至于红帽 ...

  7. 【Linux开发】Linux下jpeglib库的安装详解

    Linux下jpeglib库的安装详解 首先要下载所需的库压缩包:jpegsrc.v6b.tar.gz或 jpegsrc.v8b.tar.gz 然后将下载的压缩包随便放在和解压到你喜欢的地方. # t ...

  8. Linux ssh登录和软件安装详解

    阿哲Style   Linux第一天 ssh登录和软件安装详解 Linux学习第一天 操作环境: Ubuntu 16.04 Win10系统,使用putty_V0.63 本身学习Linux就是想在服务器 ...

  9. [r]Ubuntu Linux系统下apt-get命令详解

    Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package ...

随机推荐

  1. QQ登录整合/oauth2.0认证-03-对第二节的代码改进

    ---------------------------目录---------------------------------- QQ登录整合/oauth2.0认证-01-申请appkey和appid ...

  2. 基于 CoreText 实现高性能 UITableView

    引起UITableView卡顿比较常见的原因有cell的层级过多.cell中有触发离屏渲染的代码(譬如:cornerRadius.maskToBounds 同时使用).像素是否对齐.是否使用UITab ...

  3. 【转载】TCP数据包结构

    最近在研究TCP协议,找了点资料,感觉很经典,所以转载过来. 如果本文中图片不能观看,请链接原始地址:http://xinxiangsui2018.blog.163.com/blog/static/1 ...

  4. IT软件外包行业深入分析:现状、前途、趋势、待遇 什么是软件外包 外包公司是怎么工作的 软件外包公司的面试 软件外包公司需要什么样的人

    目录: [0] - 为什么要对大学生谈软件外包? [1] - 什么是软件外包? [2] - 软件为什么要外包? [3] - 为什么要承接软件外包 [4] - 做软件外包有前途吗? [5] - 外包公司 ...

  5. 新浪安装weiphp2.0的方法

    请安装此网页的方法来安装: https://coding.net/u/idoubi666/p/weiphp-sae/git

  6. 微信多客服插件获取openid

    <!doctype html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. Java 图片矢量压缩

    直接贴出工具类源码 package com.snow.web.util.publics; import java.awt.Image; import java.awt.image.BufferedIm ...

  8. 日志收集之--将Kafka数据导入elasticsearch

    最近需要搭建一套日志监控平台,结合系统本身的特性总结一句话也就是:需要将Kafka中的数据导入到elasticsearch中.那么如何将Kafka中的数据导入到elasticsearch中去呢,总结起 ...

  9. 页面生命周期里面还有很东西,如PageHandlerFactory等等这些东东也够吃一壶的,发现每走到一个领域,发现要学的东西实在是太多太多啦,总感觉自己所学的东西只是沧海一粟,走过了这道坎,又是一片海洋,我只能呐喊:生命永不止息,学海无涯----够用就好。

    页面生命周期里面还有很东西,如PageHandlerFactory等等这些东东也够吃一壶的,发现每走到一个领域,发现要学的东西实在是太多太多啦,总感觉自己所学的东西只是沧海一粟,走过了这道坎,又是一片 ...

  10. MySQL 错误1418

    创建function的时候报如下错误: Error Code : This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA ...