因为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的更多相关文章

  1. win7 数据源只有 SQL SERVER, WIN7 64bit 环境使用 access 作为 CIS的数据源

    最近换了个工作电脑,安装的是 WIN7 64BIT,结果配置CIS数据源的时候出现问题了,默认的数据源只有 SQL SERVER,没有ACCESS的数据源.后来在网上寻找了一圈后,找到了解决方法: C ...

  2. 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都是参考网上的,一般都没有什么问题.最近公司有个 ...

  3. Win7 64bit下32bit的 ODBC 数据源问题

    win764位有数据源,但是如果我们在win7 64bit中使用32位的数据源的时候,我们就需要对其进行配置,很有趣的是,64为的数据源我们可以在控制面板——系统与安全——管理工具——数据源,进入可对 ...

  4. win7 64bit+vs2010 操作注册表

    注册表五个根键 HKEY_CLASSES_ROOT--管理文件系统  HKEY_LOCAL_MACHINE--管理当前系统硬件配置  HKEY_LOCAL_USER--管理系统当前用户配置  HKEY ...

  5. 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) ...

  6. 64位Win7下安装与配置PHP环境【Apache+PHP+MySQL】

    [软件下载] 本安装实例所使用安装文件如图所示: 其中,64位版本的MySQL安装文件mysql-5.5.33-winx64.msi,可直接从官网下载,下载地址:http://dev.mysql.co ...

  7. Win7 64bit 成功安装ArcView3.X

    本人参考 链接 已在Win7 64Bit 笔记本上成功安装ArcView3.3,于是记录以下心得。 Win7 64Bit安装不了ArcView3.X的原因在于: 1,ArcView3.X属于16Bit ...

  8. Win7 64bit 安装VisualSVN出现报错:Servic 'VisualSVN Server' failed to start.解决办法

    问题描述: Win7 64bit 安装VisualSVN时出现报错: Servic 'VisualSVN Server' failed to start.Please check VisualSVN ...

  9. Java win7或 xp下配置JDK环境变量

    JAVA win7或 xp下配置JDK环境变量 by:授客 QQ:1033553122 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08 ...

随机推荐

  1. keil快捷键

  2. 解决Eclipse中文乱码 分类: B1_JAVA 2014-06-25 11:23 336人阅读 评论(0) 收藏

    使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题.在Eclipse可以从几个层面设置编 ...

  3. ConcurrentLinkedQueue的实现原理分析

    1.    引言 在并发编程中我们有时候需要使用线程安全的队列.如果我们要实现一个线程安全的队列有两种实现方式一种是使用阻塞算法,另一种是使用非阻塞算法.使用阻塞算法的队列可以用一个锁(入队和出队用同 ...

  4. Android 利用线程运行栈StackTraceElement设计Android日志模块

    如果你想在你的Android程序中自动打印MainActivity.onCreate(line:37)这种类名.方法名(行数)的日志该如何实现呢? 1.引入Java的线程运行栈 Java.lang包中 ...

  5. [转载]剥析surging的架构思想

    1.前言 2.通信机制 2.1 简介      在单体应用中,模块之间的调用通信通过引用加载方法或者函数来实现,但是单体应用最终都会因为团队壮大,项目模块的扩展和部署等出现难以维护的问题.随着业务需求 ...

  6. 谈谈JavaEE的mvc模式及典型的三层架构

    首先,向读者介绍一下mvc架构,mvc是一种源于桌面程序的架构模式,它的基本思想是把程序界面和业务逻辑分开,这样便于软件的后期维护,同时也方便开发时期分工及管理,mvc有很多有点所以现在已经被广泛的应 ...

  7. [Vue] Update Attributes, Classes and Styles in Vue.js with v-bind

    Use v-bind:class and v-bind:style to compute html classes and inline styles from component data. Vue ...

  8. C/C++ 变量的初始化

    局部变量,初始化为垃圾值,局部静态变量初始化为 0: 1. 二维数组 // 作为局部变量 int arr[4]; // 全是垃圾值 int arr[4] = {1}; // 第一个元素为 1,其他默认 ...

  9. 数组filter方法对数组元素进行过滤

    Array.prototype.filter对数组中元素进行过滤 /** * @method reduce * @param {number} item 当前迭代的数组元素 * @param {num ...

  10. 三星语音AI助理背后的华人身影—73岁科技人三度创业成功(孙子兵法:道、天、地、将、法)

    我绝对不当老二,也不当老大,我要当霸主!”说这句话的是富迪科技董事长黄炎松.他还把“独霸”当作公司愿景宣言,大剌剌的放在美国总公司进门最显眼的墙上.   集微网消息,据台湾商业周刊报道,黄炎松,是台湾 ...