Clutter on Windows
作者: 刘鹏
日期: 2008-11-17
本文介绍了在 Window XP (SP2)上用 Microsoft Visual C++ 2005 Express 编译运行 Clutter 的步骤和过程。

系统信息

  • Windows XP SP2
  • Microsoft Visual C++ 2005 Express
  • Clutter 0.6.4

基本思路

  • 使用 SDL 做 Clutter 后端;
  • 安装 GTK+ 运行时支持库、开发库和头文件;
  • 安装 Glee;
  • 设置系统环境变量 PATH 和 MSVC2005 的头文件和库文件路径;
  • 基于 MSVC2005 编译 Clutter

安装过程

  • 安装 GTK+ 运行时支持库 (runtimes)。最简单的方法是安装 Gimp Win32 版 (http://gimp.org)。它会在你的系统安装和配置一个 GTK+ 运行时支持库,非 常方便。
  • 安装 GTK+ 开发库。 Clutter 涉及的开发库有 glib, gobject, gmodule, gdk pixbuf, freetype, fontconfig, pango, pangoft2, gettext, iconv, expat。GTK+ 网站上有个 gtk-dev All-in-one bundle,下载下来运行 setup 按提示安装即可。安装完后需要设置系统环境变量,将 D:\gtk\bin 加入系统环境变量 PATH 中。本文作者把开发库安装在了 D:\gtk 目录下了。

另外,fontconfig 库需要单独安装,在这里下载 fontconfig-dev-2.4.2-tml-20071015.zip ,解压即可。

  • 安装 SDL win32 版 (http://libsdl.org/),将 SDL 作为 Clutter 的后端。
  • 安装 GLee 库,Windows 只提供对 OpenGL 1.1 规范的支持,GLee 封装了 OpenGL 扩展 API,它提供了超过 OpenGL 1.1 规范的函数。
  • 安装 activeperl,由于需要用到 perl 脚本 glib-mkenms,所以需要安装一个 Perl 环境。
  • 下载安装 MSVC2005,设置 MSVC2005 头文件和库路径,设置点在 options/Projects 和 Solution/VC++ Directories。头文件路径包括:
D:\gtk\include
D:\gtk\include\glib-2.0
D:\gtk\lib\glib-2.0\include
D:\gtk\include\cairo
D:\gtk\include\pango-1.0
D:\SDL\include
D:\gtk\include\gtk-2.0
D:\fongconfig-dev\include

库文件路径包括:


D:\gtk\lib
D:\SDL\lib

  • 从代码主分支下载 Clutter MSVC++2005 工程文件 (clutter-trunk\clutter\build\msvc_2k5)。这套工程文件是国外一个工程师在 Windows XP(SP2)+Visual C++ 2005 Express 环境下做的。相关内容参加参考文档1和2.

另外,在工程文件 clutter.vcproj 中 glib-mkmenus 的路径用的是硬编码,需 要手动改成自己的路径,它用的是 C:\msvcdevfiles\glib-dev-2.14.1\bin\glib-mkenums,本文作者使用的路径是 D:\gtk\bin\glib-mkenums。使用硬编码不是一种好方法,有待完善。

到目前为止,编译 Clutter 需要的整个环境就配置好了,用 MSVC2005 打开工程文件 clutter.vcproj ,编译即可。

问题

  1. 作者在用 MSVC 2005 编译 Clutter 时,有个头文件 unstd.h 在 Win32 环境上没有,始终没有找到解决方法。
  2. 作者的 blog 文章提到 Dev-C++ + mingw 的工程,那就是说 Dev-C++ 可 以和 mingw 一起搞,那 clutter-trunk\clutter\build\mingw 里的工程应 该可以与 Dev-C++ 一起用。
  3. 之所以选择 Clutter 0.6.4,是本文作者在尝试了若干个版本后选出来的最 容易上手的版本。其它版本需要较多修改源代码。

Reference

  1. Clutter on Windows? You bet !!!
  2. Clutter on Windows II
  3. MSVC2005 工程代码包 README 文件
  4. Compiling Clutter on Windows with MinGW + MSYS