• 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

  • 相关阅读:
    Python抓取妹子图,内含福利
    我是如何通过一部动漫学习英语的?
    SqlServer,Oracle,db2,MySql查询表索引
    cmd命令大全
    资源推荐:PPT快闪资源合集附配套字体下载
    安卓抖音全球地区版
    tomcat的Server.xml详解和Host的配置
    Java总结篇系列:Java多线程(三)
    Java总结篇系列:Java多线程(二)
    Java总结篇系列:Java多线程(一)
  • 原文地址:https://www.cnblogs.com/findumars/p/7483945.html
Copyright © 2020-2023  润新知