OpenEXR on Win32 platforms
--------------------------

OpenEXR has been tested on Windows XP with Visual Studio .NET 2003
(version 7.1); and with Visual Studio 6.0 and version 7.0 of the Intel
C++ compiler.  You can obtain an evaluation license for Intel's compiler
here:

  http://developer.intel.com/software/products/compilers/cwin/eval.htm

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.

If you want to use OpenEXR with Visual Studio 6.0 and the Microsoft
Visual C++ 6.0 compiler, you can use the ImfCRgbaFile C interface via
the IlmImf DLL.  Make sure you build the IlmImfDll project in the
workspace file if you want to use this DLL.

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 6.0 and .NET 2003 can be found in
vc\vc6 and vc\vc7, respectively.

You'll need a compiled version of zlib (preferably version 1.2.1,
though versions as old as 1.4.1 will work) 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.gzip.org/zlib/
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).

zlib does not, so we have included one for you in the vc\vc6\zlib
directory (or vc\vc7\zlib, if you're using Visual Studio .NET 2003).
It works with zlib 1.2.1.  Copy all the files in that directory into
your zlib source directory and build the zlib targets (zlib.lib and
zlibd.lib).  If you want to use the IlmImf DLL, you must also build a
zlib library which uses statically linked runtime libs.  The included
zlib_static project file will build those (zlib_static.lib and
zlibd_static.lib).

Note that by default, the OpenEXR Visual Studio project expects the
zlib and 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\...
  

Known bugs
----------

The IlmImfTest testCustomAttributes test fails with Visual Studio 6.0
and the Intel C++ compiler version 7.0.  It appears to be specific to
the test, not any of the OpenEXR libraries themselves.  It's #ifdef'ed
out at the moment to ensure the other tests in IlmImfTest will run.


