来源:http://blog.sina.com.cn/s/blog_a6fb6cc901017ygy.html

Windows GTK+ 环境搭建

最近要做界面的一些东西,但是对微软提供的类库MFC不是很熟悉,里面封装了大量的Windows API比较麻烦,然后就想着其他方式吧!Qt、GTK+原本想学学Qt的,Qt跨平台、文档也多点,使用也更广泛。但是Qt的插件一直没有下载下来,然后就先学习学习GTK+吧!

在网上搜了好多关于Windows GTK+环境搭建的方法,但是很多说的都不是很清楚,所以自己就参考了一些文档,在官网上下载了所需的环境文件,自己搭建了GTK+的环境。并进行了详细的记录,以下是主要内容。

下载gtk All-in-one bundles包

好了,言归正传吧!开始我们的Windows GTK+ 环境搭建环节。主要分为以下几步:

1) 进入官网www.gtk.org开始先了解学习一些有关GTK+的内容。

GTK+ 环境搭建(详解)" name="image_operate_34581347010438522" alt="Windows GTK+ 环境搭建(详解)" src="http://s1.sinaimg.cn/middle/a6fb6cc9tc919061a1840&690" width="470" height="254" real_src="http://s1.sinaimg.cn/middle/a6fb6cc9tc919061a1840&690">

2) 点击”Download”进入下载页面,找到自己的Windows所对应的环境Win32或者Win64链接,点击进入。

GTK+ 环境搭建(详解)" name="image_operate_41151347010438190" alt="Windows GTK+ 环境搭建(详解)" src="http://s10.sinaimg.cn/middle/a6fb6cc9tc9192a8b7879&690" width="359" height="316" real_src="http://s10.sinaimg.cn/middle/a6fb6cc9tc9192a8b7879&690">

3)若要下载、解压、整理那些单独的文件,则不是很方便,所以就可以选择有”All-in-one bundles” 的链接,点击下载。

GTK+ 环境搭建(详解)" name="image_operate_91341347010437105" alt="Windows GTK+ 环境搭建(详解)" src="http://s7.sinaimg.cn/middle/a6fb6cc9tc9192abf0f16&690" real_src="http://s7.sinaimg.cn/middle/a6fb6cc9tc9192abf0f16&690">

4) 下载成功后,解压到任意一个目录底下即可,我选择的是” E:\Visual Studio\GTK Env”,即VS工程目录(不是安装目录)下的GTK EnV(gtk environment),

解压完成之后可以看到一些目录文件夹,主要包括:bin、etc、include、lib、man、manifest、share、src。其中bin目录下主要包含一些可执行文件和动态链接库,lib目录主要包含一些库文件、include主要包含的是一些头文件。

设置环境变量

1) 配置环境变量Path

如我所选,将”E:\Visual Studio\GTK Env\bin”加入到环境变量”Path”中。bin目录中包含有运行时所需的dll文件,其中也包括gtk-demo.exe示例程序。

GTK+ 环境搭建(详解)" name="image_operate_65861347010275435" alt="Windows GTK+ 环境搭建(详解)" src="http://s1.sinaimg.cn/middle/a6fb6cc9tc91940c6c470&690" real_src="http://s1.sinaimg.cn/middle/a6fb6cc9tc91940c6c470&690">

2) 测试运行

运行” E:\Visual Studio\GTK Env\bin\gtk-demo.exe”示例程序,可以显示如下程序界面。

GTK+ 环境搭建(详解)" name="image_operate_54421347012076793" alt="Windows GTK+ 环境搭建(详解)" src="http://s15.sinaimg.cn/middle/a6fb6cc9tc9198255af4e&690" width="616" height="313" real_src="http://s15.sinaimg.cn/middle/a6fb6cc9tc9198255af4e&690">

设置VS2008编译环境

设置附加包含目录

右击工程,选择属性->C/C++->常规->附加包含目录,添加GTK+目录下的include文件夹和include文件夹里的所有文件夹,还有lib文件夹的子文件夹里面的两个include文件夹,如下图所示。

GTK+ 环境搭建(详解)" name="image_operate_30441347012075155" alt="Windows GTK+ 环境搭建(详解)" src="http://s7.sinaimg.cn/middle/a6fb6cc9tc919825a0876&690" width="575" height="339" real_src="http://s7.sinaimg.cn/middle/a6fb6cc9tc919825a0876&690">

GTK+ 环境搭建(详解)" name="image_operate_92221347012071372" alt="Windows GTK+ 环境搭建(详解)" src="http://s12.sinaimg.cn/middle/a6fb6cc9tc9198261062b&690" width="444" height="311" real_src="http://s12.sinaimg.cn/middle/a6fb6cc9tc9198261062b&690">

设置附加库目录

转到库文件视图,添加GTK+目录的lib文件夹。设置附加库目录:选择链接器->常规->附加库目录,添加GTK+目录下的lib文件夹,如下图所示。

GTK+ 环境搭建(详解)" name="image_operate_55331347012074423" alt="Windows GTK+ 环境搭建(详解)" src="http://s16.sinaimg.cn/middle/a6fb6cc9tc91990fae18f&690" width="557" height="346" real_src="http://s16.sinaimg.cn/middle/a6fb6cc9tc91990fae18f&690">

GTK+ 环境搭建(详解)" name="image_operate_65401347012074254" alt="Windows GTK+ 环境搭建(详解)" src="http://s7.sinaimg.cn/middle/a6fb6cc9tc91990e95466&690" real_src="http://s7.sinaimg.cn/middle/a6fb6cc9tc91990e95466&690">

添加附加依赖项

新建C++的空项目,在项目->属性->链接器->输入->附加依赖项,将” E:\Visual Studio\GTK Env\lib”目录下的所有.lib文件都放到附加依赖项中,其中包括:atk-1.0.lib、cairo.lib、expat.lib、fontconfig.lib、freetype.lib、gailutil.lib、gdk_pixbuf-2.0.lib、gdk-win32-2.0.lib、gio-2.0.lib、glib-2.0.lib、gmodule-2.0.lib、gobject-2.0.lib、gthread-2.0.lib、gtk-win32-2.0.lib、intl.lib、libpng.lib、pango-1.0.lib、

pangocairo-1.0.lib、pangoft2-1.0.lib、pangowin32-1.0.lib、zdll.lib。

GTK+ 环境搭建(详解)" name="image_operate_91851347012073969" alt="Windows GTK+ 环境搭建(详解)" src="http://s7.sinaimg.cn/middle/a6fb6cc9tc91998baf6f6&690" width="364" height="488" real_src="http://s7.sinaimg.cn/middle/a6fb6cc9tc91998baf6f6&690">

GTK+ 环境搭建(详解)" name="image_operate_87211347012060063" alt="Windows GTK+ 环境搭建(详解)" src="http://s6.sinaimg.cn/middle/a6fb6cc9tc91998ba6f35&690" width="442" height="338" real_src="http://s6.sinaimg.cn/middle/a6fb6cc9tc91998ba6f35&690">

测试

新建CPP文件,写入如下代码,可以正常运行则配置成功。

#include

int main (int argc, char *argv[])

{

GtkWidget *window;

GtkWidget *label;

//初始化GTK+库

gtk_init(&argc, &argv);

//创建主窗口

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

//设置窗口大小

gtk_widget_set_size_request(window,300,300);

//设置标题

gtk_window_set_title(GTK_WINDOW (window), "Hello World");

//当窗口即将被销毁,停止主GTK+循环

g_signal_connect(window, "destroy",G_CALLBACK (gtk_main_quit), NULL);

//创建一个"Hello World"标签

label = gtk_label_new("Hello, World");

//将标签加入到主窗口

gtk_container_add(GTK_CONTAINER (window), label);

//设置窗口中的所有元素可见

gtk_widget_show_all(window);

//开始主循环,让它在那里休息,直到应用程序关闭

gtk_main();

return 0;

}

显示如下:

GTK+ 环境搭建(详解)" name="image_operate_94091347012016076" alt="Windows GTK+ 环境搭建(详解)" src="http://s13.sinaimg.cn/middle/a6fb6cc9tc919a426653c&690" real_src="http://s13.sinaimg.cn/middle/a6fb6cc9tc919a426653c&690">

这样,我们的GTK+在Windows下的环境就搭建好了,Hello World也编写成功了,呵呵,不足之处还有待改善,希望以后能有机会再更好更多的研究下GTK+和QT吧!

注:
技术在于交流、沟通,转载请注明出处并保持作品的完整性。

Windows GTK+ 环境搭建(详解)的更多相关文章

  1. Python环境搭建详解(Window平台)

    前言 Python,是一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件,Python语法简洁清晰,特色是强制用空白符作为语句缩进,具有丰富和强大的库,它常被称为胶水语言. Python是一种解 ...

  2. Windows下的SVN环境搭建详解

    前言:最近因为要和其他人合作开发项目,所以花时间搭建了SVN的环境. 因为是初次使用SVN,对于SVN的环境搭建很不熟悉,再加上网上的教程都介绍的比较粗略,导致前前后后重做了几次. 当然最终是搭建成功 ...

  3. Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及

    Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动 ...

  4. AngularJS4.0环境搭建详解--windows系统环境

    第一步:安装NodeJS 下载最新版的NodeJS并安装,安装完成后打开CMD命令行,输入以下命令: node -v 若返回类似版本号则代表NodeJS安装成功,如下: 第二部 安装npm 新版的No ...

  5. windows 64位下,React-Native环境搭建详解 (Android)

    React-Native环境搭建需要: 1.安装Java JDK 2.安装Android Studio 3.安装node.js 4.安装git 5.安装Python 2.x (注意目前不支持Pytho ...

  6. nginx+php环境搭建详解(Linux)

    今天在内网环境下,给linux主机安装nginx+php环境,由于是内网环境,只能手动解压缩包进行安装,在这过程中我也着实遇到了一些问题(困扰了我许久),还好最后搭建环境成功了,所以写篇博客记录一下, ...

  7. python webdriver 环境搭建详解

    学了一个月用java编写selenium driver 测试脚本,也将公司做的系统基本可用的模块做了一次自动化,虽然写的比较简陋,但是基本可用跑一遍,并用testNG生成了测试报告. 学习方式无非是: ...

  8. eclipseIDE for javaee developers 开发环境搭建详解图文

    使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指导,专门讲解了一下Eclipse开发环境的搭建过程,一是帮助他们尽快的熟悉IDE的使用,二也是保证团队开 ...

  9. Windows7 QT5.6.0(64位)使用mysql(64位)环境搭建详解

    1 说明 使用环境为:Windows7 VS2015 QT5.6.0(64位),MYSQL 5.7.13(64位). 网上各种错误.模糊.抽象的资料,配置环境花了半天,痛定思痛,总结出来,方便后来人. ...

随机推荐

  1. MySQL5.5安装出现CMake错误找不到CMakelists.txt原因

    今天虚拟机上测试安装 CentOS6.3 + PHP5.4.8 + MySQL5.5.28,结果捣鼓了半天 MySQL都没装上,老是CMake目录下找不到那个 lists 文件,郁闷的不行,最后发现问 ...

  2. CodeForces 702B Powers of Two

    简单题. 开一个$map$记录一下每个数字出现了几次,那么读入的时候$f[a[i]]+1$. 计算$a[i]$做出的贡献的时候,先把$f[a[i]]-1$,然后再枚举$x$,答案加上$f[{2^x} ...

  3. Snacks

    Snacks 题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5692 dfs序+线段树 这道题涉及到对整棵树的值修改,考虑将树状结构用dfs ...

  4. WITH common_table_expression

    Feature: 公用表表达式只能包含一个SELECT,多SELECT需UNION,UNION ALL 公用表表达式只能引用一次 公用表表达式可以包括对自身的引用,这种表达式称为递归公用表表达式 -- ...

  5. 常用JavaScript字符串方法简述

    网址来源:http://www.html-js.com/article/JS-rookie-in-the-rookie-to-start-learning-to-fly-the-commonly-us ...

  6. [妙味Ajax]第二课:实例:留言板、瀑布流

    知识点总结 瀑布流原理(固定布局) 总宽度大小固定 每列宽度固定,比如LI,高度自动计算,每列使用float:left来布局 计算最短的一列,将Div插到最短的一列处(li里面包div)(getSho ...

  7. oracle 11g dblink配置

    关于DBLINK的概念在本文中不再赘述,本文主要介绍DBLINK的创建. 1.创建环境描述 本文将在两台操作系统为红帽5.5版本.装有Oracle 11g的虚拟机中进行DBLINK的创建以及测试工作. ...

  8. jQuery 截取double数据 重新赋值

    $('.prioritySort').each(function(i){ $(this).text($(this).text().substring(0,$(this).text().indexOf( ...

  9. 使用EasyBCD 从硬盘安装 deepin2014.1

    EasyBCD config  code: title Install Deepin2014 root (hd0,1) kernel (hd0,1)/vmlinuz boot=casper iso-s ...

  10. [转]Ubuntu系统下常用的新建、删除、拷贝文件命令

    我们在Ubuntu系统中安装程序时,经常要在usr目录下新建.拷贝文件,此文件夹在Linux类系统中需要root权限才能访问,因此用常规的鼠标右键菜单操作是无效的,今天分享一下在终端中使用命令新建.拷 ...