64位win7下,CodeBlock13.12配置GTK3.x环境以及第一个DEMO的执行
2014-02-08 05:06
471 查看
MAIL:crachman#qq.com
OS版本:windows 7 Ultimate 64Bit English Version
CB版本:CodeBlock13.12为当前最新版本自带MinGW编译器,如图1所示
GTK版本:GTK+ 3.6.4下载32位版本(官网提示:64位版本兼容性不保证)如图2所示
一、下载安装
图1. CodeBlocks13.12官网下载示意图
图2.GTK+ 3.6.4官网下载示意图
本文CodeBlock安装路径:C:\Program Files (x86)\CodeBlocks ,按提示安装即可。
GTK的安装参照压缩包中gtk+-bundle_3.6.4-20130921_win32.README.txt的说明即可!
其中GTK安装包的解压路径:D:\gtk3 (路径可以任选,我一般选择“绝对路径”中不含中文)
二、设置环境变量
右击“计算机(Computer)” → “属性(Properties)” ,
在弹出窗口的侧边栏选择“高级系统设置(Advanced system settings)”→ 在弹出的窗口选择"高级(Advanced)"标签页"
→点击“环境变量(Environment Variables)”,在“用户变量”或者“系统变量”(任一均可,我选用户变量),
将 C:\Program Files (x86)\CodeBlocks\MinGW\bin 和 D:\gtk3\bin 添加到PATH中,注意路径间要英文输入法下分号隔开;
路径添加后,在重新打开的命令行中敲入:gcc -v会看到编译器的版本情况,说明MinGW的bin路径添加成功。
然后按照gtk+-bundle_3.6.4-20130921_win32.README.txt中提示,在命令行下敲入以下命令
pkg-config --cflags gtk+-3.0
pango-querymodules > c:\gtk\etc\pango\pango.modules
gdk-pixbuf-query-loaders > c:\gtk\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache
gtk-query-immodules-3.0 > c:\gtk\lib\gtk-3.0\3.0.0\immodules.cache
最后敲入 gtk3-demo 会看到会执行在D:\gtk3\bin\目录下自带的gtk3-demo.exe程序。
该程序提供了gtk几乎所有构件的使用样例程序和源代码。
如果成功地配置到目前,说明CodeBlocks和GTK+ 3.x已经正确安装。
三、在CodeBlocks中创建一个GTK3的工程(这里就不介绍如何创建GTK2的工程)
如果直接创建一个GTK工程
,一路设置到选择GTK's
Location的路径,
出现找不到gtk.h的错误时,(如图
)说明你安装的GTK+
3.x的,不能创建GTK2的项目。
由于CodeBlocks目前只支持GTK2,所以要创建GTK3的程序,只能通过建立“空项目”后,手动设置。
以下是GTK3工程手动配置的内容:
点击"Project"→"build options"
1:选择“Compiler settings”标签中的Other options子标签
加入编译选项
-mms-bitfields 选项解释:编译GTK程序必须的选项
2:选择“Linker settings”标签
在"Link libraries"中点击"Add"按钮,在弹出的文件选择对话框中找到d:\gtk3\lib\目录下的文件全选,一次性加入所有的lib文件,无需一个一个的加入。
在Other Linker options
加入链接选项
-mwindows 选项解释:告诉编译器去编译一个窗口程序,生成的程序可以去掉控制台。
3:选择“Search directories”标签
在"Compiler"子标签中点Add,添加gtk+3.x中所有的头文件,一般在名为include的文件夹下
即,要加入所有包含include文件夹和子文件夹路径,而且只能一条一条加。
D:\gtk3\include
D:\gtk3\include\atk-1.0
D:\gtk3\include\atk-1.0\atk
D:\gtk3\include\cairo
D:\gtk3\include\fontconfig
D:\gtk3\include\freetype2
D:\gtk3\include\freetype2\freetype
D:\gtk3\include\freetype2\freetype\config
D:\gtk3\include\gail-3.0
D:\gtk3\include\gail-3.0\libgail-util
D:\gtk3\include\gdk-pixbuf-2.0
D:\gtk3\include\gdk-pixbuf-2.0\gdk-pixbuf
D:\gtk3\include\gio-win32-2.0
D:\gtk3\include\gio-win32-2.0\gio
D:\gtk3\include\glib-2.0
D:\gtk3\include\glib-2.0\gio
D:\gtk3\include\glib-2.0\glib
D:\gtk3\include\glib-2.0\gobject
D:\gtk3\include\gtk-3.0
D:\gtk3\include\gtk-3.0\gdk
D:\gtk3\include\gtk-3.0\gtk
D:\gtk3\include\jasper
D:\gtk3\include\libcroco-0.6
D:\gtk3\include\libcroco-0.6\libcroco
D:\gtk3\include\libpng15
D:\gtk3\include\librsvg-2.0
D:\gtk3\include\librsvg-2.0\librsvg
D:\gtk3\include\libxml2
D:\gtk3\include\libxml2\libxml
D:\gtk3\include\lzma
D:\gtk3\include\pango-1.0
D:\gtk3\include\pango-1.0\pango
D:\gtk3\include\pixman-1
D:\gtk3\lib\glib-2.0\include
请注意这里还有两条不要忘记加,
D:\gtk3\lib\libffi-3.0.12\include 否则在编译时,会出现在 gtypes.h错误提示找不到glibconfig.h头文件。
四、一个HelloWorld测试程序
以下是一段网上查找的HelloWorld程序,本人初学者还不会写呢...
如果你也看到这个画面,恭喜你!
你真的很幸运,一方面说明我的记录给别人带来了帮助,另一方面说明我自己的经历没有这么幸运咯~
下面是我在这个过程中遇到的几个问题和查到的解决方案:
1. 在gtypes.h中,错误指向#include<glibconfig.h>,提示error: glibconfig.h No such file or directory。
错误方案:绝对不是去网上随便下载一个glibconfig.h然后添加到include目录下,这样会引来更多错误。
该头文件是由编译glib函数库自动产生的,在D:\gtk3\lib\glib-2.0\include目录下
正确方案:"Project"→"build options" 选“Search directories”标签 在"Compiler"子标签中加一头文件路径,
继续添加一个头文件路径:D:\gtk3\lib\glib-2.0\include
2.编译时发现,单行注释符号//会出错,改成多行注释符号/**/后编译正确。
正确方案:默认用ANSI C规范的编译器选项,不识别C++中的单行注释,去掉含-ansi编译选项前的钩,即可。
3.GTK3的程序中的中文“你好,自由的世界”无法正常显示!如下图
正确方案:“Settings”→“Editor” 选择“Other settings”标签,将Encoding改成UTF-8,并选中Use this encoding的As default encoding选项,如下图所示
以上,是我目前所遇到的所有问题。如文中有文笔描述上的问题,欢迎提出~ 同时若该过程有遇到其他的问题,也欢迎提出一起解决~
本文参考链接有如下:
1.CodeBlocks配置GTK+2和GTK+3
以及作者He YiJun对问题1慷慨解答,半夜2点回复的邮件,我刚好看到便起床,成功的测试了第一个demo,并记录下此过程。
OS版本:windows 7 Ultimate 64Bit English Version
CB版本:CodeBlock13.12为当前最新版本自带MinGW编译器,如图1所示
GTK版本:GTK+ 3.6.4下载32位版本(官网提示:64位版本兼容性不保证)如图2所示
一、下载安装
图1. CodeBlocks13.12官网下载示意图
图2.GTK+ 3.6.4官网下载示意图
本文CodeBlock安装路径:C:\Program Files (x86)\CodeBlocks ,按提示安装即可。
GTK的安装参照压缩包中gtk+-bundle_3.6.4-20130921_win32.README.txt的说明即可!
其中GTK安装包的解压路径:D:\gtk3 (路径可以任选,我一般选择“绝对路径”中不含中文)
二、设置环境变量
右击“计算机(Computer)” → “属性(Properties)” ,
在弹出窗口的侧边栏选择“高级系统设置(Advanced system settings)”→ 在弹出的窗口选择"高级(Advanced)"标签页"
→点击“环境变量(Environment Variables)”,在“用户变量”或者“系统变量”(任一均可,我选用户变量),
将 C:\Program Files (x86)\CodeBlocks\MinGW\bin 和 D:\gtk3\bin 添加到PATH中,注意路径间要英文输入法下分号隔开;
路径添加后,在重新打开的命令行中敲入:gcc -v会看到编译器的版本情况,说明MinGW的bin路径添加成功。
然后按照gtk+-bundle_3.6.4-20130921_win32.README.txt中提示,在命令行下敲入以下命令
pkg-config --cflags gtk+-3.0
pango-querymodules > c:\gtk\etc\pango\pango.modules
gdk-pixbuf-query-loaders > c:\gtk\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache
gtk-query-immodules-3.0 > c:\gtk\lib\gtk-3.0\3.0.0\immodules.cache
最后敲入 gtk3-demo 会看到会执行在D:\gtk3\bin\目录下自带的gtk3-demo.exe程序。
该程序提供了gtk几乎所有构件的使用样例程序和源代码。
如果成功地配置到目前,说明CodeBlocks和GTK+ 3.x已经正确安装。
三、在CodeBlocks中创建一个GTK3的工程(这里就不介绍如何创建GTK2的工程)
如果直接创建一个GTK工程
,一路设置到选择GTK's
Location的路径,
出现找不到gtk.h的错误时,(如图
)说明你安装的GTK+
3.x的,不能创建GTK2的项目。
由于CodeBlocks目前只支持GTK2,所以要创建GTK3的程序,只能通过建立“空项目”后,手动设置。
以下是GTK3工程手动配置的内容:
点击"Project"→"build options"
1:选择“Compiler settings”标签中的Other options子标签
加入编译选项
-mms-bitfields 选项解释:编译GTK程序必须的选项
2:选择“Linker settings”标签
在"Link libraries"中点击"Add"按钮,在弹出的文件选择对话框中找到d:\gtk3\lib\目录下的文件全选,一次性加入所有的lib文件,无需一个一个的加入。
在Other Linker options
加入链接选项
-mwindows 选项解释:告诉编译器去编译一个窗口程序,生成的程序可以去掉控制台。
3:选择“Search directories”标签
在"Compiler"子标签中点Add,添加gtk+3.x中所有的头文件,一般在名为include的文件夹下
即,要加入所有包含include文件夹和子文件夹路径,而且只能一条一条加。
D:\gtk3\include
D:\gtk3\include\atk-1.0
D:\gtk3\include\atk-1.0\atk
D:\gtk3\include\cairo
D:\gtk3\include\fontconfig
D:\gtk3\include\freetype2
D:\gtk3\include\freetype2\freetype
D:\gtk3\include\freetype2\freetype\config
D:\gtk3\include\gail-3.0
D:\gtk3\include\gail-3.0\libgail-util
D:\gtk3\include\gdk-pixbuf-2.0
D:\gtk3\include\gdk-pixbuf-2.0\gdk-pixbuf
D:\gtk3\include\gio-win32-2.0
D:\gtk3\include\gio-win32-2.0\gio
D:\gtk3\include\glib-2.0
D:\gtk3\include\glib-2.0\gio
D:\gtk3\include\glib-2.0\glib
D:\gtk3\include\glib-2.0\gobject
D:\gtk3\include\gtk-3.0
D:\gtk3\include\gtk-3.0\gdk
D:\gtk3\include\gtk-3.0\gtk
D:\gtk3\include\jasper
D:\gtk3\include\libcroco-0.6
D:\gtk3\include\libcroco-0.6\libcroco
D:\gtk3\include\libpng15
D:\gtk3\include\librsvg-2.0
D:\gtk3\include\librsvg-2.0\librsvg
D:\gtk3\include\libxml2
D:\gtk3\include\libxml2\libxml
D:\gtk3\include\lzma
D:\gtk3\include\pango-1.0
D:\gtk3\include\pango-1.0\pango
D:\gtk3\include\pixman-1
D:\gtk3\lib\glib-2.0\include
请注意这里还有两条不要忘记加,
D:\gtk3\lib\libffi-3.0.12\include 否则在编译时,会出现在 gtypes.h错误提示找不到glibconfig.h头文件。
四、一个HelloWorld测试程序
以下是一段网上查找的HelloWorld程序,本人初学者还不会写呢...
#include <gtk/gtk.h> //主窗口中按钮的回调函数 void on_button_clicked(GtkWidget* button, gpointer userdata) { GtkWidget *dialog; //创建带确认按钮的对话框,父控件为空 dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL |GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, (gchar*)userdata); gtk_dialog_run(GTK_DIALOG(dialog)); //显示并运行对话框 gtk_widget_destroy(dialog); //销毁对话框 } //主函数 int main(int argc, char* argv[]) { GtkWidget *window, *button; //初始化GTK+程序 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_container_set_border_width(GTK_CONTAINER(window),10); //创建按钮控件,为单击信号加回调函数,将其放入窗口中 button=gtk_button_new_with_label("Hello World!"); g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(on_button_clicked),(gpointer)"你好!\n自由的世界。"); gtk_container_add(GTK_CONTAINER(window),button); //下面函数显示窗口控件同时显示其中的所有其它控件 gtk_widget_show_all(window); gtk_main(); return FALSE; }正确的Build之后Run效果如图:
如果你也看到这个画面,恭喜你!
你真的很幸运,一方面说明我的记录给别人带来了帮助,另一方面说明我自己的经历没有这么幸运咯~
下面是我在这个过程中遇到的几个问题和查到的解决方案:
1. 在gtypes.h中,错误指向#include<glibconfig.h>,提示error: glibconfig.h No such file or directory。
错误方案:绝对不是去网上随便下载一个glibconfig.h然后添加到include目录下,这样会引来更多错误。
该头文件是由编译glib函数库自动产生的,在D:\gtk3\lib\glib-2.0\include目录下
正确方案:"Project"→"build options" 选“Search directories”标签 在"Compiler"子标签中加一头文件路径,
继续添加一个头文件路径:D:\gtk3\lib\glib-2.0\include
2.编译时发现,单行注释符号//会出错,改成多行注释符号/**/后编译正确。
正确方案:默认用ANSI C规范的编译器选项,不识别C++中的单行注释,去掉含-ansi编译选项前的钩,即可。
3.GTK3的程序中的中文“你好,自由的世界”无法正常显示!如下图
正确方案:“Settings”→“Editor” 选择“Other settings”标签,将Encoding改成UTF-8,并选中Use this encoding的As default encoding选项,如下图所示
以上,是我目前所遇到的所有问题。如文中有文笔描述上的问题,欢迎提出~ 同时若该过程有遇到其他的问题,也欢迎提出一起解决~
本文参考链接有如下:
1.CodeBlocks配置GTK+2和GTK+3
以及作者He YiJun对问题1慷慨解答,半夜2点回复的邮件,我刚好看到便起床,成功的测试了第一个demo,并记录下此过程。
2.一个CodeBlocks注释问题(不能用//单行注释)
相关文章推荐
- libcurl开源库在Win7 + VS2012环境下编译、配置详解 以及下载文件并显示下载进度 demo(转载)
- OpenGL VS2012环境搭建以及第一个OpenGL例子(WIN7 64位系统)
- C语言 + GTK3+ Visual Studio 2015环境配置 以及第一个GTK界面程序
- win7 64位,vs2010(visual studio2010)环境下配置openCV2.4.8版本,以及可能遇到的问题
- pcl1.8.0+QT5.7.0+vs2013 win7 x64环境配置以及第一个小程序实现
- pcl1.8.0+QT5.7.0+vs2013 win7 x64环境配置以及第一个小程序实现
- java JDK环境变量的配置及在win7控制台下dos执行java小程序
- WIN7 64位系统安装JDK并配置环境变量
- 64位Win7下安装并配置Python2.7机器学习环境
- win7(x64)+VS2012+cocos2d-x环境的配置以及试运行
- OpenGL环境配置Win7-64位+freeglut+glew+VS2012
- win7 64位操作系统配置eclipse+android+cdt环境(各种变态错处理)
- WIN7 64位系统安装JDK并配置环境变量
- appium环境配置-win7-64位
- 【学习ARToolkit小记之初】 ARToolkit在VS2010(Win7 64位)下的配置及第一个开发程序的编译与运行
- Andriod 环境配置以及第一个Android Application Project
- Android React Native环境配置以及第一个实例
- win7 64位环境下配置visual studio2013 的opencv 3.0环境
- Win7 64位操作系统下配置PHP+MySql+Apache环境
- python win7(64位)环境配置以及相关工具包的安装