Yet another one! FreeImage is a popular library among game programmers that can load a wealth of image file formats (.bmp, .dds, .exr, .gif, .ico, .jpg, .mng, .pcx, .png, .tga, .tif). It’s also free and Open Source, so there’s nothing stopping me from attempting an x64 build of it
FreeImage internally uses OpenEXR, the IJG reference JPEG implementation, libmng, libpng, OpenJPEG (supported JPEG 2000) and LibTIFF. All of these libraries are available as source packages as well. I’ve updated all these libraries to their latest available version.
Source Patches
Here are some patches containing the changes I had to apply to FreeImage in order to make it compile to x64 cleanly:
Download: Patch fixing all x64 issues for OpenJPEG 1.3
Download: FreeImage 3.1.0 patch fixing all x64 issues
Visual C++ 2008 Binaries
You can find precompiled, optimized binaries for Visual C++ 2008 in my Subversion repository:
https://devel.nuclex.org/external/svn/freeimage/tags/3.1.0-r1
The binaries have been compiled with Visual C++ 2008, all contained libraries targeting the Multithreaded DLL runtime, so you’ll need the Visual C++ 2008 Runtime (x86, x64) to use them. If you have Visual C++ 2008 installed, you already have the runtime.
Demo Application
If you just want to see whether this truly works, here’s a quick command-line image loader (loads .bmp, .dds, .exr, .gif, .ico, .jpg, .mng, .pcx, .png, .tga, .tif) in both x86 and x64 incarnations. The x64 version only works if you’re running Windows XP x64 or Windows Vista x64, of course:
Download: FreeImage x64 demo application
Requires the Visual C++ 2008 Runtime [x86, x64] to work!
June 27th, 2008 at 5:53 pm
First of all, thank you for your contribution to the FreeImage project, a 64bit library was just what I needed now.
However, I downloaded your binaries and they always chrash when I attempt to load a GIF image. Have you experienced this?