win7(64bit)使用mingw64配置gtkmm
因为linux命令不熟悉,加上时间不充裕,仍然决定在win7_64bit下开发GUI程序,选择gtkmm是因为:
1. 在图形界面程序中,windows系统当之无愧GUI之王,用户友好性其他OS无法替代
2. Qt虽然版权放开了,但Qt信号机制让人不爽,过于紧耦合的设计让我感觉不像用C++写程序
3. wxWidget是一个很好的图形库,可以过度的宏包装形成的抽象,与微软的mfc一样滥
4. windows自带的api包倒是不错的选择,但是API繁琐且是C语言封装,很多地方设计不合理,留给程序员开发的自由并不太多,很多地方写死了完全是定式
5. 其他的GUI库不熟,微软的.NET框架不错可惜不透明且不跨平台,SDL针对多媒体开发,WTL及COM是对win32API的封装还好,但学习代价大之外陷阱极多!
是故决定使用gtkmm开发GUI程序,我的开发环境是:
OS: windows 7
IDE: code::blocks
编译器:mingw-64
1. 首先安装mingw-64m
从http://sourceforge.net/projects/mingw-w64/下载的x86_64-w64-mingw32-gcc-4.8.0-win64_rubenvb.7z
之后解压到开发工具目录下,我的是D:\devs\mingw64
2. 安装code::blocks 谷歌搜索下官网下载
3. 设置一个新的编译器,将mingw64\bin下的x86_64-w64-mingw32-g++.exe等设置进去,然后新建一个hello World,在任务管理器下看看是否是test.exe*32还在test.exe,后者表示64位编译器编译成功(编译的helloworld是64位)
4. 去gtkmm官网下载windows版本的gtkmm,我的版本是gtkmm-win64-devel-2.22.0-2.exe,安装到某个目录下我的是d:\devlibs\gtkmm64
5. (关键)新建一个bat文件,内容如下:
setx PKG_CONFIG_PATH D:\devlibs\gtkmm64\lib\pkgconfig -m
pause
保存后用管理员权限运行,修改环境变量PKG_CONFIG_PATH值为gtkmm64目录下的lib\pkgconfig
6. 一般来说安装gtkmm时,安装程序已经设置了PATH为D:\devlibs\gtkmm64\bin
win+R打开cmd控制台程序,试试pkg-config是否可以运行,可以则键入如下命令pkg-config --modversion --cflags --libs gtkmm-2.4
如果第5个步骤成功则此时会显示一串-ID:/devlibs/gtkmm64/include/...-lintl
7. 进入codeblocks新建一个空项目,添加一个.cc文件,代码如下:
#include <gtkmm.h>
int main(int argc, char *argv[])
{
Gtk::Main kit(argc, argv);
Gtk::Window window;
Gtk::Main::run(window);
return 0;
}
8. 菜单 Project > build options 弹出 Project build options 对话框
Compiler setting > Other options 写入 `pkg-config gtkmm-2.4 --cflags`
Linker settings > Other linker options 写入 `pkg-config --libs gtkmm-2.4`
确定关闭对话框
9. 编译运行,发现弹出类似于ld.exe | can not find -lgtkmm-2.4的链接错误(我使用-static静态编译)
打开gtkmm64\lib文件夹,找到类似于libgtkmm-2.4.dll.a的文件,将文件重命名libgtkmm-2.4.a(即去掉文件名中的.dll)
10. 编译成功, enjoy.
http://blog.csdn.net/u014252696/article/details/24650081
win7(64bit)使用mingw64配置gtkmm的更多相关文章
- win7 数据源只有 SQL SERVER, WIN7 64bit 环境使用 access 作为 CIS的数据源
最近换了个工作电脑,安装的是 WIN7 64BIT,结果配置CIS数据源的时候出现问题了,默认的数据源只有 SQL SERVER,没有ACCESS的数据源.后来在网上寻找了一圈后,找到了解决方法: C ...
- win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置
原文:win7 64bit下最新Apahe2.4.18+php7.0.2+MySQL5.7.10配置 一.说明 以前配置apache+php+mysql都是参考网上的,一般都没有什么问题.最近公司有个 ...
- Win7 64bit下32bit的 ODBC 数据源问题
win764位有数据源,但是如果我们在win7 64bit中使用32位的数据源的时候,我们就需要对其进行配置,很有趣的是,64为的数据源我们可以在控制面板——系统与安全——管理工具——数据源,进入可对 ...
- win7 64bit+vs2010 操作注册表
注册表五个根键 HKEY_CLASSES_ROOT--管理文件系统 HKEY_LOCAL_MACHINE--管理当前系统硬件配置 HKEY_LOCAL_USER--管理系统当前用户配置 HKEY ...
- Win7 64bit+Anaconda(3-5.0.1,Python3.6)+Pycharm(community-2017.3.3)+OpenCV(python‑3.4.0‑cp36‑cp36m)(转载)
Anaconda(3-5.0.1,Python3.6)下载链接:https://pan.baidu.com/s/1bqFwLMB 密码:37ih Pycharm(community-2017.3.3) ...
- 64位Win7下安装与配置PHP环境【Apache+PHP+MySQL】
[软件下载] 本安装实例所使用安装文件如图所示: 其中,64位版本的MySQL安装文件mysql-5.5.33-winx64.msi,可直接从官网下载,下载地址:http://dev.mysql.co ...
- Win7 64bit 成功安装ArcView3.X
本人参考 链接 已在Win7 64Bit 笔记本上成功安装ArcView3.3,于是记录以下心得。 Win7 64Bit安装不了ArcView3.X的原因在于: 1,ArcView3.X属于16Bit ...
- Win7 64bit 安装VisualSVN出现报错:Servic 'VisualSVN Server' failed to start.解决办法
问题描述: Win7 64bit 安装VisualSVN时出现报错: Servic 'VisualSVN Server' failed to start.Please check VisualSVN ...
- Java win7或 xp下配置JDK环境变量
JAVA win7或 xp下配置JDK环境变量 by:授客 QQ:1033553122 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08 ...
随机推荐
- 关于serialVersionUID的说明 分类: B1_JAVA 2014-05-24 11:02 1334人阅读 评论(0) 收藏
1.为什么要使用serialVersionUID (1)对于实现了Serializable接口的类,可以将其序列化输出至磁盘文件中,同时会将其serialVersionUID输出到文件中. (2)然后 ...
- ConcurrentLinkedQueue使用方法
它是一个基于链接节点的无界线程安全队列.该队列的元素遵循先进先出的原则.头是最先加入的,尾是最近加入的. 插入元素是追加到尾上.提取一个元素是从头提取.当多个线程共享访问一个公共 collection ...
- 在Excel中粘贴时怎样跳过隐藏行
http://www.excel123.cn/Article/exceljichu/201203/932.html 有时在筛选后需要将其他区域中的连续行数据复制粘贴到筛选区域,以替换筛选后的数据.由于 ...
- [E2E] Robot Framework introduction
We will use demo project as an example, go though QuickStart repo. Install: First you should have py ...
- [Compose] 18. Maintaining structure whilst asyncing
We take our Promise.all() analogy further by using traversable on a Map(). Then we use two traversal ...
- php汉字字符串长度和截取
mb_strlen("你好123",'utf-8');//返回5 strlen("你好");//返回几我也不知道,肯定不是2,但你想要2就用上面的 substr ...
- iOS 直播
待解决: 貌似苹果规定10M以内的视频可以用RTMP,以上的必须用HLS ? IOS非直播超过10分钟只能用hls,ios上有规定? 待尝试: 用Vitamion内核开发的可以自定义界面的视频播放器 ...
- Curator简介
Curator简介 Curator是一个博物馆或者其它集合的监管者或者管理者,Curator有以下几个组件组成: Recipes: 实现了通用ZooKeeper的recipes, 该组件是在Frame ...
- NOIP模拟 Math - 数学
题目大意: 给定a,n(\(a \le 1e9, n\le30\)),求有多少\(b(1 \le b \le 2^n)\)满足:\(a^b \equiv b^a(mod 2^n)\). 题目分析: 数 ...
- 【codeforces 782A】Andryusha and Socks
[题目链接]:http://codeforces.com/contest/782/problem/A [题意] 如果手套没有成一双,那么其中的一只就会被放在桌子上; 问你桌子上手套的只数最多的时候有几 ...