OpenEXR on Win32 platforms -------------------------- OpenEXR has been tested on Windows XP with Visual Studio .NET 2003 (version 7.1). Due to limitations in Microsoft's C++ implementation in Visual Studio 6.0, OpenEXR won't compile with the Microsoft Visual C++ 6.0 compiler. The changes required to make OpenEXR compile with Visual C++ 6.0 would break the existing API. It should be possible to link against the ImfCRgbaFile C interface with Microsoft Visual C++ 6.0 using the IlmImf DLLs built by Visual C++ 7.1 or higher. However, we have not tested this configuration. Please let us know if you have problems. See the AUTHORS file for a list of people who contributed to the Win32 port of OpenEXR. Compiling OpenEXR in Visual Studio ---------------------------------- If you don't want or don't need to build these libraries from scratch, some releases may be available as pre-compiled libraries. Check here: http://openexr.com/downloads The projects for Visual Studio .NET 2003 can be found in vc\vc7. You'll need a compiled version of zlib (version 1.2.1) in order to build the IlmImf library. You'll need a compiled version of FLTK 1.1.x in order to build the exrdisplay viewer. You can get source code for these libraries here: http://www.zlib.net http://www.fltk.org FLTK comes with a workspace file for Visual Studio 6.0 (and Visual Studio .NET 2003 can automatically convert it to a "solution" file). Note that by default, the OpenEXR Visual Studio project expects the FLTK libraries in the following locations (assuming OpenEXR\ is your OpenEXR source directory): zlib\ zconf.h zlib.h zlib.lib zlibd.lib zlib_static.lib zlibd_static.lib fltk\ FL\ Enumerations.H Fl.H ... lib\ fltk.lib fltkgl.lib fltkd.lib fltkgld.lib OpenEXR\... In order to build the fragment shader version of exrdisplay, you'll need the Nvidia Cg SDK. The exrdisplay_fragshader project expects the SDK to be rooted in the same directory as the OpenEXR source directory: nvidia\ SDK\ inc\ OpenEXR\... Building OpenEXR requires the following steps: * Obtain the zlib (version 1.2.2) source code from www.zlib.net, and build the following configurations: LIB ASM Debug LIB ASM Release DLL ASM Release * In directory OpenEXR\vc\vc7, create the following sub-directories: OpenEXR\vc\vc7\bin OpenEXR\vc\vc7\lib OpenEXR\vc\vc7\include * From the zlib build, copy the following files: zlib1.dll -> OpenEXR\vc\vc7\bin zconf.h zlib.h -> OpenEXR\vc\vc7\include zlib1.exp zlib1.lib zlibd.lib zlib.lib vc70.pdb -> OpenEXR\vc\vc7\lib * If you want to build exrdisplay, obtain the FLTK source code and build the Debug and Release configurations. * Build the Release configuration of createDLL from the createDLL solution file (OpenEXR\vc\vc7\createDLL.sln). * Set up the MSVCLINK environment variable to point to c:\Program Files\Microsoft Visual Studio.Net 2003\vc\bin\link.exe or the equivalent on your installation. * Open the OpenEXR solution file (OpenEXR\vc\vc7\OpenEXR.sln). * Pick the configuration you need (Debug, DebugDLL, Release or ReleaseDLL) and build it. * Enjoy. Known bugs ---------- None.