在win32下使用clutter-1.0进行2.5D桌面开发[1026]

转载请注明出处 blog.csdn.net/pingf0 或 www.cnblogs.com/pingf


 clutter是个很不错的库,也正因为有了它,Intel的moblin才显得有点光彩【个人愚见,吼吼】

  官方并没有给出很详尽的在win32下使用clutter的方法,毕竟要推moblin嘛。。。XD,仿佛在说我用linux我骄傲一般。

  但还是有些喜欢hacking的老外爱想点法子,将它移植到了了win32平台上。

  下面的文章,除了做点翻译之外,还有一些自己的总结,使之更为易懂易用

  STEP 1

   基本配置,我对微软似乎是有些反感的,所以本文只讲基于mingw的方法,而不提msvc的。。。。。。吼吼

   首先要做的就是将mingw装上【需要额外装下libiconv,需要调试肯定要装高蛋白(GDB)的】,还有glib相关的一些库,什么gio 啦,gobject啦。。。。。太多,太碎,怕麻烦的可以直接状glade套件或者gtk+的all in one bundle!

    所有这些都可从sourceforge.net下载

    当然要下载clutter的源码包【本文介绍的适用于1.0.X各个版本,也是目前(09.10.26)最稳定版本】,可从clutter-project.org下载

   顺带把qt套件给装上,主要是用到那个qmake,比automake用起来方便不少。[这个从nokia网站下载]

   STEP 2

     将MINGW中include\GL下glext.h更换为http://www.opengl.org/registry/api/glext.h ,据说是因为自带的太旧的原因。

   STEP 3

     在说下面之前说明下我装的是glade套件,对应目录C:\GTK+,所以下面的一些修改也是针对此的

     下载如下7zip包

      https://files.cnblogs.com/pingf/prebuild.7z

     然后将该prebuild文件夹放在clutter源码包build目录下,并修改configure.pl中

     local $GLIB_DIR = Cwd::realpath("$HOME_DIR/glib-2.18.4");一行修改为

     local $GLIB_DIR = Cwd::realpath("C:/GTK+");

     然后运行那个批处理,运行完后看提示,要修改pro文件中

    ..\..\clutter\cogl\gl\cogl-primitives.c \
    以及
    ..\..\clutter\cogl\gl\cogl.c \

     两行前面各加个#号

     并将pro文件中

    CAIRO_DIR = ..\..\..\cairo_1.8.6
    GLIB_DIR = ..\..\..\glib-2.18.4
    CLUTTER_DIR = ..\..
    PANGO_DIR = ..\..\..\pango-1.22.4
    GETTEXT_DIR = ..\..\..\mingw32-gettext-0.17

    修改为

    CAIRO_DIR = C:\GTK+
    GLIB_DIR = C:\GTK+
    CLUTTER_DIR = ..\..
    PANGO_DIR = C:\GTK+
    GETTEXT_DIR = C:\GTK+

     然后cmd下【当前目录】先qmake 再 make

     然后就会产生libclutter.a文件啦,这个是静态的哟!

    step 4

    整理下.h文件【这步我就不说了】,

    为了省事儿

    我将编译的头文件放在C:\Gtk+\lib\clutter-1.0

    将整理的头文件放在C:\Gtk+\include\clutter-1.0

    step 5

    然后就是运行你的程序了

    gcc怎么用我是不会在此赘述的,但很有必要说一下一些标志为的设置

    cflags设置为

-g -Wall  -Ic:\gtk+\include\glib-2.0 -Ic:\gtk+\lib\glib-2.0\include -Ic:\gtk+\include  
-Ic:\gtk+\include\cairo  -Ic:\gtk+\include\pango-1.0  
-Ic:\gtk+\include\clutter-1.0 -Ic:\gtk+\include\clutter-1.0\clutter
     libs 设置为
c:\gtk+\lib\clutter-1.0\libclutter.a c:\gtk+\lib\glib-2.0.lib c:\gtk+\lib\gobject-2.0.lib 

c:\gtk+\lib\gmodule-2.0.lib c:\gtk+\lib\gthread-2.0.lib c:\gtk+\lib\pango-1.0.lib 

c:\gtk+\lib\pangocairo-1.0.lib c:\gtk+\lib\cairo.lib c:\gtk+\lib\libintl.dll.a 

-lopengl32 -lglu32 -lgdi32 -luser32 -lwinmm


     连接附加选项

-mwindows  -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl, -mthreads -Wl
     step  6
下面给出经典的clutter下开罗花的程序
Code


o(∩_∩)o...哈哈,至此在win下也可以用clutter进行开发啦!!!


posted @ 2009-10-27 09:48  平繁  阅读(3161)  评论(4编辑  收藏  举报