|
|
|
|
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 ,编译即可。
问题
- 作者在用 MSVC 2005 编译 Clutter 时,有个头文件 unstd.h 在 Win32 环境上没有,始终没有找到解决方法。
- 在作者的 blog 文章提到 Dev-C++ + mingw 的工程,那就是说 Dev-C++ 可
以和 mingw 一起搞,那 clutter-trunk\clutter\build\mingw 里的工程应
该可以与 Dev-C++ 一起用。
- 之所以选择 Clutter 0.6.4,是本文作者在尝试了若干个版本后选出来的最
容易上手的版本。其它版本需要较多修改源代码。
Reference
- Clutter on Windows? You bet !!!
- Clutter on Windows II
- MSVC2005 工程代码包 README 文件
- Compiling Clutter on Windows with MinGW + MSYS
|
|