Note that all this is rather experimental. Please do not build this package in a path that contains spaces to avoid possible problems during the build or during the usage of the library. Please refer to the following GNOME Live! page for more detailed instructions on building GDK-Pixbuf and its dependencies with Visual C++: https://live.gnome.org/GTK%2B/Win32/MSVCCompilationOfGTKStack This VS11 solution and the projects it includes are intented to be used in a GDK-Pixbuf source tree unpacked from a tarball. In a git checkout you first need to use some Unix-like environment or manual work to expand the .in files needed, mainly config.h.win32.in into config.h.win32. You will also need to expand gdk-pixbuf.vcprojin here into gdk-pixbuf.vcproj. Two variants of the library are supported here for compilation-one that makes use of native GDI+ APIs (The Debug/Release configurations) and another that does not use GDI+ (those that use external third party image manipulation libraries, the Debug_NoGDIP/Release_NoGDIP configurations). Note that both variants require LibPNG and ZLib, and both variants have the image loaders built into the main GDK-Pixbuf library. If one wants to build additional GDK-Pixbuf image loaders/modules that are not included in the main GDK-Pixbuf library, such as the one included in librsvg, he/she needs to place the compiled loader DLL (preferably built with Visual C++ 2010) into the following location: \lib\gdk-pixbuf-2.0\2.10.0\loaders\ and run the gdk-pixbuf-query-loaders utility to generate a loaders.cache file in \lib\gdk-pixbuf-2.0\2.10.0. The dependencies for this package are gettext-runtime (libintl), GLib*, ZLib and LibPNG at the minimum. Note that if you intend to build GDK-Pixbuf that does not use GDI+, you will also need the IJG JPEG libraries, libTIFF and libjasper (for JPEG-2000 operations). Please note that the Visual Studio project files will typically link to the latest stable release of LibPNG which the GDK-Pixbuf codebase supports by default. If you intend to use and link to an older version of LibPNG, you may change the "Additional Dependencies" setting accordingly (such as changing from libpng16.lib to libpng14.lib) for the GDK-Pixbuf project. The minimum supported release series for LibPNG is 1.0.x at this time of writing. For the Dependencies, you may either: a) look for all of the dependencies (except GLib*, libjasper) under http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32-bit) -OR- http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64-bit) Please use the latest versions of these libraries that are available there, these are packaged by Tor Lillqvist, which are built with MinGW/GCC. Please see b) below regarding the build of libjasper and GLib* Note for LibPNG, version 1.6.x is needed. -OR- b) Build them yourself with VS11 (but you may most probably wish to get gettext-runtime from the URL(s) mentioned in a)). Use the latest stable versions for them (you may need to get the latest unstable version of GLib if you are using an unstable version of GDK-Pixbuf): GLib*: Grab the latest sources from http://www.gtk.org under "Download" (stable only-please make a search for the latest unstable versions) IJG JPEG: http://www.ijg.org/ LibPNG: http://www.libpng.org/pub/png/libpng.html (1.6.x is needed here) LibTIFF: http://www.remotesensing.org/libtiff/ LibJasper: http://www.ece.uvic.ca/~mdadams/jasper/ ZLib: http://www.zlib.net The above 6 packages all have supported mechanisms (Makefiles and/or Project Files) for building under VS11 (upgrade the Project Files from earlier VS versions will do for these, when applicable). It is recommended that ZLib is built using the win32/Makefile.msc makefile with VS11 with the ASM routines to avoid linking problems (copy zdll.lib to zlib1.lib[Release] or to zlib1d.lib [Debug] after completion of compilation)-see win32/Makefile.msc in ZLib for more details. * This GLib refers to a build that is built by VS11 Set up the source tree as follows under some arbitrary top folder : \gdk-pixbuf\ \vs11\ *this* file you are now reading is thus located at \gdk-pixbuf\\win32\vs11\README. is either Win32 or x64, as in the VS11 project files. You should unpack the -dev and (runtime) into \vs11\, if you download any of the packages from http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ (32-bit) -OR- http://ftp.gnome.org/pub/GNOME/binaries/win64/dependencies/ (64-bit) so that for instance libintl.h end up at \vs11\\include\libintl.h. If you build any of the dependencies yourselves, copy the: -DLLs and EXEs into \vs11\\bin -headers into \vs11\\include\ -LIBs into \vs11\\lib If you have not built GLib with VS11 and placed the LIBs and headers in a place where VS11 can find them automatically, you should also uncompress your GLib sources in \ and build it from there, following the instructions in \glib<-version>\win32\vs11, so that the required headers, EXEs, DLLs and LIBs will end up in \vs11\\include\glib-2.0 (headers) \vs11\\lib (LIBs, also glib-2.0/include/glibconfig.h) \vs11\\bin (EXEs/DLLs) respectively. After the build of GDK-Pixbuf, the "install" project will copy build results and headers into their appropriate location under \vs11\. For instance, built DLLs go into \vs11\\bin, built LIBs into \vs11\\lib and GDK-Pixbuf headers into \vs11\\include\GDKPixbuf-2.0. This is then from where project files higher in the stack are supposed to look for them, not from a specific GDK-Pixbuf source tree. There is now a "gdk-pixbuf-introspect" project that is used to build the introspection files. In order for this to work, check that the paths for PythonDir (32-bit builds) and PythonDirX64 (x64 builds) are correct for your system. Note that it must be the same Python installation that was used to build GObject-Introspection (G-I), and a complete G-I build/installation needs to be found in \vs11\\. Note also that this is not built by default, so you will need to right-click on the project to build it, which will build and "install" the other projects that are normally built, if those were not yet built. The introspection files that are built will be "installed" to \vs11\\share\gir-1.0 (the .gir file(s)) and \vs11\\lib\girepository-1.0 (the .typelib files(s)) upon successful build. for building this in a different configuration, therefore, you will need to clean this project specifically and then rebuild. --Chun-wei Fan --(adapted from the GLib VS11 README.txt file originally written by Tor Lillqvist)