1.下载gtkmm安装程序,现在得gtkmm包已经集成了gtk+(不需要单独下这个了)
2.打开windows命令行:pkg-config gtkmm-2.4 --cflags >>1.txt (cd到gtkmm目录下的bin目录)
这里是include的头文件路径,编译时要用到。
如: -mms-bitfields -IE:/MinGW/gtkmm/include/gtkmm-2.4 -IE:/MinGW/gtkmm/lib/gtkmm-2.4/include -IE:/MinGW/gtkmm/include/glibmm-2.4 -IE:/MinGW/gtkmm/lib/glibmm-2.4/include -IE:/MinGW/gtkmm/include/giomm-2.4 -IE:/MinGW/gtkmm/lib/giomm-2.4/include -IE:/MinGW/gtkmm/include/gdkmm-2.4 -IE:/MinGW/gtkmm/lib/gdkmm-2.4/include -IE:/MinGW/gtkmm/include/pangomm-1.4 -IE:/MinGW/gtkmm/include/atkmm-1.6 -IE:/MinGW/gtkmm/include/gtk-2.0 -IE:/MinGW/gtkmm/include/sigc++-2.0 -IE:/MinGW/gtkmm/lib/sigc++-2.0/include -IE:/MinGW/gtkmm/include/glib-2.0 -IE:/MinGW/gtkmm/lib/glib-2.0/include -IE:/MinGW/gtkmm/lib/gtk-2.0/include -IE:/MinGW/gtkmm/include/cairomm-1.0 -IE:/MinGW/gtkmm/include/pango-1.0 -IE:/MinGW/gtkmm/include/cairo -IE:/MinGW/gtkmm/include/libpng12 -IE:/MinGW/gtkmm/include/atk-1.0
用个文本编辑工具 修改下 :
E:/MinGW/gtkmm/include/gtkmm-2.4 E:/MinGW/gtkmm/lib/gtkmm-2.4/include
E:/MinGW/gtkmm/include/glibmm-2.4 E:/MinGW/gtkmm/lib/glibmm-2.4/include
E:/MinGW/gtkmm/include/giomm-2.4 E:/MinGW/gtkmm/lib/giomm-2.4/include
E:/MinGW/gtkmm/include/gdkmm-2.4 E:/MinGW/gtkmm/lib/gdkmm-2.4/include
E:/MinGW/gtkmm/include/pangomm-1.4 E:/MinGW/gtkmm/include/atkmm-1.6
E:/MinGW/gtkmm/include/gtk-2.0 E:/MinGW/gtkmm/include/sigc++-2.0
E:/MinGW/gtkmm/lib/sigc++-2.0/include E:/MinGW/gtkmm/include/glib-2.0
E:/MinGW/gtkmm/lib/glib-2.0/include E:/MinGW/gtkmm/lib/gtk-2.0/include
E:/MinGW/gtkmm/include/cairomm-1.0 E:/MinGW/gtkmm/include/pango-1.0
E:/MinGW/gtkmm/include/cairo E:/MinGW/gtkmm/include/atk-1.0
逐条添加到vs2008 包含文件(工具->选项->项目和解决方案->vc目录 选择下拉框里得包含文件)
3.pkg-config gtkmm-2.4 --libs 看到libs的目录(如-LE:/MinGW/gtkmm/lib) ,改为E:/MinGW/gtkmm/lib添加到库文件。
4.创建工程时选择 控制台应用程序 在项目属性->链接器->命令行 附加选项添加如下库
gtkmm-vc90-d-2_4.lib giomm-vc90-d-2_4.lib gdkmm-vc90-d-2_4.lib atkmm-vc90-d-1_6.lib
gtk-win32-2.0.lib pangomm-vc90-d-1_4.lib cairomm-vc90-d-1_0.lib glibmm-vc90-d-2_4.lib
sigc-vc90-d-2_0.lib gdk-win32-2.0.lib atk-1.0.lib gio-2.0.lib gdk_pixbuf-2.0.lib
将禁用特定警告设置为4250(要不然有300多个警告,每次编译。
e:/mingw/gtkmm/include/gtkmm-2.4/gtkmm/filechooser.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>e:/mingw/gtkmm/include/gtkmm-2.4/gtkmm/filechooser.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>e:/mingw/gtkmm/include/gtkmm-2.4/gtkmm/filechooser.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>e:/mingw/gtkmm/include/gtkmm-2.4/gtkmm/textchildanchor.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>e:/mingw/gtkmm/include/gtkmm-2.4/gtkmm/textchildanchor.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>e:/mingw/gtkmm/include/gtkmm-2.4/gtkmm/textchildanchor.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
不过好像还是有6个文件格式的警告,这个不用管了)
(这一步每次新建工程要用到,也许可以修改下gtkmm官方给的那个脚本,每次添加到工程属性就可以了 ,不过这个半斤八量。
而且官方的脚本好像少加了库文件,使用Gtk::Builder时,会链接错误,无法解析某个函数,参考gcc的链接文件做了修改才解决,如上)
做release版是也要做相应更改,另外一般要去掉弹出的命令行窗口,更改链接器->系统 子系统为windows,修改 高级 里得函数入口点
为mainCRTStartup
这样就配置完了。 编译运行你的gtkmm程序吧。
这个是官网给的另一种配置方案 http://live.gnome.org/gtkmm/MSWindows/UsingMSVC
不过这样 在做代码编辑时vs 的自动代码补足受到限制,你也不能直接调到gtkmm自身的头文件,gtkmm是开源的你还可以把源代码的目录加到vc目录配置项里。
用了其他的一些ide 发觉vs的还是相当强大的 不过使用第三方库时要好好配置下
ps:
这个只是做一般的学习才使用vs的,不过一般的应用也凑合了。