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:devsmingw64

2. 安装code::blocks 谷歌搜索下官网下载

3. 设置一个新的编译器,将mingw64in下的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:devlibsgtkmm64

5. (关键)新建一个bat文件,内容如下:

setx PKG_CONFIG_PATH D:devlibsgtkmm64libpkgconfig -m
pause

保存后用管理员权限运行,修改环境变量PKG_CONFIG_PATH值为gtkmm64目录下的libpkgconfig

6. 一般来说安装gtkmm时,安装程序已经设置了PATH为D:devlibsgtkmm64in

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静态编译)

打开gtkmm64lib文件夹,找到类似于libgtkmm-2.4.dll.a的文件,将文件重命名libgtkmm-2.4.a(即去掉文件名中的.dll)

10. 编译成功, enjoy.

http://blog.csdn.net/u014252696/article/details/24650081

原文地址:https://www.cnblogs.com/findumars/p/7483945.html