为什么80%的码农都做不了架构师?>>>   

我利用此方法成功在UBUNTU 10.04下安装GTK 2.20.1。

一、安装

  1、 安装gcc/g++/gdb/make 等基本编程工具

$sudo apt-get install build-essential

  2、 安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件

$sudo apt-get install gnome-core-devel 

  3、 用于在编译GTK程序时自动找出头文件及库文件位置  

$sudo apt-get install pkg-config

  4、 安装 devhelp GTK文档查看程序

$sudo apt-get install devhelp

  5、 安装 gtk/glib 的API参考手册及其它帮助文档

$sudo apt-get install libglib2.0-doc libgtk2.0-doc

  6、 安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库

$sudo apt-get install glade libglade2-dev
或者
$sudo apt-get install glade-gnome glade-common glade-doc

  7、 安装gtk2.0 或者 将gtk+2.0所需的所有文件统通下载安装完毕

$sudo apt-get install libgtk2.0-dev
或者
$sudo apt-get install libgtk2.0*

  

二、查看GTK库版本

  1、 查看1.2.x版本

$pkg-config --modversion gtk+

  2、 查看 2.x 版本

$pkg-config --modversion gtk+-2.0

  3、 查看pkg-config的版本

$pkg-config --version

  4、 查看是否安装了gtk

$pkg-config --list-all grep gtk

  

三、测试程序

//Helloworld.c
#include <gtk/gtk.h>

int main(int argc,char *argv[]){    GtkWidget    *window;    GtkWidget    *label;

    gtk_init(&argc,&argv);

/* create the main, top level, window */    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

/* give it the title */    gtk_window_set_title(GTK_WINDOW(window),"Hello World");

/* connect the destroy signal of the window to gtk_main_quit     * when the window is about to be destroyed we get a notification and     * stop the main GTK+ loop*/    g_signal_connect(window,"destroy",G_CALLBACK(gtk_main_quit),NULL);

/* create the "Hello, World" label */    label = gtk_label_new("Hello, World");

/* and insert it into the main window */    gtk_container_add(GTK_CONTAINER(window),label);

/* make sure that everything, window and label, are visible */    gtk_widget_show_all(window);

/* start the main loop, and let it rest until the application is closed */    gtk_main();

return 0;} 

  

四、编译运行

  1、编译

$gcc -o Helloworld Helloworld.c `pkg-config --cflags --libs gtk+-2.0`

  2、运行

$./Helloworld

转载于:https://my.oschina.net/mayude/blog/415093

Ubuntu下GTK的安装、编译和测试相关推荐

  1. Ubuntu下GTK的安装

    apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具 apt-get install gnome-core-devel #这将安装 ...

  2. Ubuntu下使用Anaconda安装opencv 解决无法读取视频

    Ubuntu下使用Anaconda安装opencv 最近在Ubuntu16.04下使用Anaconda安装opencv,碰到很多坑,记录备忘. cv2.VideoCapture(filename) 返 ...

  3. 【区块链-以太坊】5 Ubuntu下truffle ganache安装及使用

    [区块链-以太坊]5 Ubuntu下truffle & ganache安装及使用 1 truffle安装 1)输入sudo npm install -g truffle 2)将truffle复 ...

  4. ubuntu下c++中base64编解码测试和图片编解码测试

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 字符数组的base64编解码 base64.h #include <string>std::string base64_encode(un ...

  5. Ubuntu下tomcat的安装

    由于对ubuntu不熟悉,尝试用apt 直接安装tomcat的时候总是不成功. 于是手动下载来tomcat安装. 这里参考了一篇博文: Ubuntu 下 Tomcat7 的安装和配置 和前几个软件一样 ...

  6. Ubuntu下域名服务器bind9 安装与配置

    Ubuntu下域名服务器bind9 安装与配置 //更新 ubuntu :sudo apt update //1.安装: //1.2安装bind9 //sudo apt-get install bin ...

  7. ubuntu下MySQL的安装

    为什么80%的码农都做不了架构师?>>>    一.ubuntu下MySQL的安装 1. 在ubuntu命令行下输入 sudo apt-get install mysql-serve ...

  8. Ubuntu下mongodb的安装与配置

    MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便.这里介绍在Ubuntu下mongodb的安装与配置. 1.下载 mongodb可以在官网上下载,地址,选择Ubun ...

  9. [Linux]Ubuntu下用apt-get安装的应用程序位置

    Ubuntu下用apt-get安装的应用程序的可执行文件默认放到/usr/bin目录下. 比如: 运行eclipse命令,如果出现:"程序eclipse未安装",这样我们可以执行: ...

最新文章

  1. 你真的理解“吃亏是福”么?
  2. SQL SERVER触发器使用实例
  3. [论文阅读] (06) 万字详解什么是生成对抗网络GAN?经典论文及案例普及
  4. 使用命令行工具创建WildFly OpenShift应用程序
  5. WebStorm 9 配置 Live Edit 功能与浏览器实现同步
  6. UI必备!不同形式的图标设计灵感
  7. java 暂停等返回值在执行_java面试技巧(2)
  8. matlab ifft频率分辨率,[FFT] matlab中关于FFT的使用(理解频率分辨率、补零问题)
  9. PreparedStatement详解
  10. Ionic2学习笔记
  11. MAC中让右键菜单出现终端(命令行)打开文件夹的功能
  12. 移远EC20模组网口SGMII通讯调试以及FC20wifi通讯调试
  13. vivado各个版本百度网盘下载资源(含license(时间到2037年))以及安装流程
  14. 【雅思大作文考官范文】——第十六篇:climate change essay
  15. 写的一个58获取房东手机号,爬虫,奈何号码都是加密,练手用
  16. u盘 安装win11 提示找不到 install.wim 文件 解决方法
  17. 基于机器学习算法的LTE高投诉小区预判方法
  18. TokenGazer一问到底 | 第29期:研究员 vs IRISnet
  19. 中国IT传奇人物柳传志--语录大全
  20. 求分享如何给短视频加特效

热门文章

  1. cpu负载过高问题处理
  2. Java 并发编程AQS--源码解读
  3. Spring Cloud微服务系列-Eureka Client源码解析(一)
  4. 给大家介绍一下实现Go并发同步原语的基石
  5. Go 并发编程 — 深入浅出 sync.Pool ,最全的使用姿势,最深刻的原理
  6. Springboot整合RocketMQ实战
  7. kafka是如何解决粘包拆包的
  8. clickhouse 同步 mysql数据
  9. Python学习(14)--内置函数
  10. 快速恢复检测 恢复 故障服务器方法