[cairo] Building 1.8.0 in VC2008

saviour at libero.it saviour at libero.it
Mon Sep 29 07:07:28 PDT 2008

i'm trying to build the lastest version of Cairo on Visual C++ 2008 but i'm unable to test and use the generated dll. I've followed somehow the instructions present in http://www.cairographics.org/download/

My steps:
* Extracted cairo-1.8.0.tar.gz and pixman-0.12.0.tar.gz from  http://www.cairographics.org/releases/ in c:\libs\cairo e c:\libs\pixman

*Extracted zlib123.zip in c:\libs\zlib and lpng1232.zip in c:\libs\libpng

* Converted the project in libpng\projects\visualc71 and build the "LIB Debug" and "LIB Release" profile

* Copied libpngd.lib and libpng.lib to libpng\ and zlibd.lib and zlib.lib in zlib\ (these last ones are generated already by the libpng project)

* Installed the Mozilla build tools, opened the console

* Compiled pixman in pixman/pixman with make -f Makefile.win32 CFG=debug (and release)

* Opened cairo-features.h and substituted all with the content here http://www.cairographics.org/visualstudio/ (i've removed CAIRO_VERSION_MAJOR, CAIRO_VERSION_MINOR and CAIRO_VERSION_MICRO that are already present elsewhere)

* Opened cairo\build\Makefile.win32.common and modified the CAIRO_LIBS lines with $(top_builddir)/../libpng/libpngd.lib and $(top_builddir)/../zlib/zlibd.lib (and the ones without the last 'd' when compiled in release)

* In cairo/src i've launched make -f Makefile.win32 dynamic CFG=debug (and release) without any errors

I've tried to compile cairo/boilerplate with make-f Makefile.win32 but it cannot find Makefile.win32.config

So i've created an empy console project from Visual studio 2008, created a main.cpp with first example in http://zetcode.com/tutorials/cairographicstutorial/cairobackends/, added cairo.lib and the additional include and lib paths. It compiles without errors but (after adding the cairo and CRT dlls) the program hangs immediately.

I've also tried to compile libpng and zlib as dynamic libraries but with no improvements. 

Have you any ideas? :)

Gianmaria C.

More information about the cairo mailing list