安装gtk2.0
sudo apt-get install libgtk2.0-dev

查看 2.x 版本

pkg-config --modversion gtk+-2.0 #有可能需要sudo apt-get install pkg-config

查看是否安装了gtk

pkg-config --list-all | grep gtk

gtk+版的helloworld测试程序
#include <gtk/gtk.h>

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

   gtk_init(&argc, &argv);

   window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

   label = gtk_label_new("Hello World.");

   gtk_container_add(GTK_CONTAINER(window), label);

   gtk_widget_show_all(window);

   gtk_main();

   return 0;
}

编译运行

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


用于编译gtk程序的Makefile
# a general Makefile to build gtk app in only one src file case.
CC       = gcc
CFLAGS   =  
LDFLAGS  =  `pkg-config gtk+-2.0 --cflags --libs`

SRCS = $(wildcard *.c)
TARGETS = $(patsubst %.c, %, $(SRCS))

all:$(TARGETS)

$(TARGETS):$(SRCS)
   $(CC) $^ -o $@ $(LDFLAGS) $(CFLAGS)

clean:
   -rm -rf $(TARGETS) *~ .*swp

.PHONY: clean all

# a general Makefile to build
CC = gcc
CFLAGS =
LDFLAGS = `pkg-config gtk+-2.0 --cflags --libs`

SRCS = test1.c test2.c main.c
TARGETS = app

all:$(TARGETS)

$(TARGETS):$(SRCS)
   $(CC) $^ -o $@ $(LDFLAGS) $(CFLAGS)

clean:
   -rm -rf $(TARGETS) *~ .*swp

.PHONY: clean all

cygwin下搭建gtk+ 2.0开发环境

到官网http://www.cygwin.com/下载最新的setup.exe,安装执行到Select Packages的时候,搜索安装如下包
libiconv: GNU character set conversion library and utilities
libiconv2: GNU character set conversion library and utilities - runtime(1)
pkg-config: A utility used to retrieve information about installed libraries
zlib-devel: The zlib compression/decompression library (development)
zlib0: The zlib compression/decompression library (runtime)
libpng14: PNG library (1.4 runtime)
libpng14-devel: PNG library (development)
libjpeg-devel: A library for manipulating JPEG image format files (devel)
libjpeg8: A library for manipulating JPEG image format files (runtime)
libtiff-devel: TIFF image library (development)
libtiff5: TIFF image library (runtime)
libglib2.0-devel: GNOME C function library (development)
libglib2.0_0: GNOME C function library (runtime)
libatk1.0-devel: Accessibility Toolkit library (developement)
libatk1.0_0: Accessibility Toolkit library (runtime)
libpango1.0-devel: GNOME text layout and renadering library (development)
libpango1.0_0: GNOME text layout and renadering library (runtime)
libcairo-devel: Cross-device vector graphics library (development)
libcairo: Cross-device vector graphics library (runtime)
libgtk2.0-devel: Multi-platform GUI toolkit (development)
libgtk2.0_0: Multi-platform GUI toolkit (runtime)
gcc-core: C compiler
gcc-g++: C++ compiler
make
vim(非必须)

xinit(xinit这个是最重要的包: X.Org X server initializer)
安装完成之后,检查gcc是否安装成功
$ gcc --version

然后检查gtk+-2.0的详细版本号
$ pkg-config gtk+-2.0 --libs

使用之前的helloworld程序编译测试一下,是否能够通过,运行的时候如果提示Gtk-WARNING **: cannot open display:
重启cygwin控制台,然后执行
$ startxwin

或者在开始菜单下,执行Cygwin-X下的XWin Server,然后再启动应用程序,即可正常运行。

Linux下搭建gtk+2.0开发环境的更多相关文章

  1. Linux下搭建gtk+2.0开发环境

    1.执行如下命令,检查系统是否已安装gtk+ pkg-config --list-all |grep gtk 若命令提示如下,则系统已安装gtk+,否则未安装. 2.若未安装,则执行如下命令进行安装 ...

  2. Windows下搭建Eclipse+Android4.0开发环境

    官方搭建步骤: http://developer.android.com/index.html 搭建好开发环境之前须要下载以下几个文件包: 一.安装Java执行环境JRE(没这个Eclipse执行不起 ...

  3. Eclipse下搭建Hadoop2.4.0开发环境

    一.安装Eclipse 下载Eclipse,解压安装,例如安装到/usr/local,即/usr/local/eclipse 4.3.1版本下载地址:http://pan.baidu.com/s/1e ...

  4. (4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤

    Ubuntu下配置opencv3.1.0开发环境 1.最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享 2.步骤说 ...

  5. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  6. react-native —— 在Windows下搭建React Native Android开发环境

    在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...

  7. Linux下搭建 Cocos2d-x-2.1.4 编译环境

    [tonyfield 2013.09.04 ] 参考 Linux下搭建 Cocos2d-x-2.1.4 编译环境 导入 HelloCpp 例程 1. Java 入口 HelloCpp.java Hel ...

  8. Ruby on Rails入门——macOS 下搭建Ruby Rails Web开发环境

    这里只介绍具体的过程及遇到的问题和解决方案,有关概念性的知识请参考另一篇:Ruby Rails入门--windows下搭建Ruby Rails Web开发环境 macOS (我的版本是:10.12.3 ...

  9. windows/Linux下设置ASP.Net Core开发环境并部署应用

    10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...

随机推荐

  1. jdk1.8 HashMap的keySet方法详解

    我在看HashMap源码的时候有一个问题让我产生了兴趣,那就是HashMap的keySet方法,没有调用HashMap的有关数据的任何方法就能获取到map的所有的键,他是怎么做到的,然后我就通过模拟k ...

  2. BZOJ1036[ZJOI2008]树的统计——树链剖分+线段树

    题目描述 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v ...

  3. Code First NotMapped

    转载:http://www.cnblogs.com/libingql/p/3352058.html 不需要映射的字段,添加 NotMapped 6.非数据库字段属性 在类中,如果有一些属性不需要映射到 ...

  4. Java 8新特性之 Base64(八恶人-7)

    "General" 我是个将军 “ You, sir a hyena. I hava no wish to speak to you.”  “你就是一个土狗,你不配跟我说话” 一. ...

  5. luogu3385 负环 (spfa)

    我在做spfa的时候,如果有一个点被更新了超过N次,证明这个图里是有负环的. (神TM输出YE5和N0) #include<bits/stdc++.h> #define pa pair&l ...

  6. 1. vim 的安装及配置

    简介 vim是什么 vim是一款功能强大.支持各种插件.配置极为灵活的编辑器,且支持多种主流OS(linux.Unix.mac.windows),可用来各种编程预言的coding和文件编辑,用习惯了v ...

  7. Luogu 1083 借教室(二分,差分)

    Luogu 1083 借教室(二分,差分) Description 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室.教室的大小功能不同,借教室人的身份不 ...

  8. JAVA8给我带了什么——流(入门)

    JAVA8有一个新功能——流.笔者简单的看一下流.然后默默的闭上眼睛.感叹一声:这不是.NET里面的Linq吗?如果你们当中有谁做过.NET程序员的话,对于流的学习其实帮助是很大的.但是要明白你现在是 ...

  9. Linux查看端口、进程信息

    1.linux上如何查看端口 通常情况下,某个端口号会被莫名其妙的占用了.却不知道什么东东占用了,影响心情.通过如下命令,即可查看某一个端口号是否被占用 1)lsof -i:端口号,即可查看某一端口的 ...

  10. Qt shortcuts

    ESC 切换到代码编辑模式 F1   查看帮助 F4    .h 与 .c or .cpp之间切换 shift + F2 声明与定义间切换 Ctrl + tab 切换已打开的文件 Ctrl + B 编 ...