1
OpenEXR is one of six software packages that were designed to work
2
together: IlmBase, PyIlmBase, OpenEXR, OpenEXR_Viewers, CTL and
3
OpenEXR_CTL. You may only be interested in OpenEXR or you may want
4
to build it together wth the other packages.
6
What follows are instructions for building all five packages.
7
If you are only interested in OpenEXR, stop after step 2.
9
A couple of notes before getting started:
11
- This is not the only way to do this. This document describes a path
12
that doesn't involve installing libraries into default system paths,
13
but rather, creates a standalone universe.
14
- Some of these steps may be a bit redundant, and will be optimized in
16
- The Debug versions of the libraries and tools are not required if
17
you are not going to be doing any debugging, and can be optionally
20
The source will build under both Visual Studio versions 7 and 8, and
21
there are separate directories for the corresponding build files. The
22
tag <vc7|8> is used in this document to describe the appropriate folder
23
in the path that corresponds to your the version of Visual Studio.
25
The Visual Studio project files assume, and help build out, a directory
26
called "Deploy". In the end, this directory will contain the objects
27
that might then be moved away from the source for general running of the
28
compiled programs. The directory structure at the end of compiling all
29
the related tools looks like this:
39
openexr-cvs (name as desired)
44
ctl-cvs (name as desired)
57
If OpenEXR_Viewers is not being compiled, then fltk and nvidia will
58
not be needed, but that will be covered later.
60
Step 1. Compile IlmBase
62
a. Point Visual Studio at the .sln file in vc\<vc7|8>\IlmBase in the
65
b. Select the Release configuration and hit Build Solution. This
66
will create the Deploy directory, and copy the relevant parts to it.
68
c. If the debug versions are desired, select the Debug configuration
69
and hit Build Solution. This will add the Debug directories to Deploy.
71
Step 2. Compile OpenEXR support
73
a. Retrieve the zlib binaries. The project files are set up to link
74
against the dll version of zlib, but can easily be changed to link
75
against a static version, or a self-built version if desired.
77
1. Go to http://www.zlib.net and download the precompiled DLL
78
version of zlib (as of writing, zlib123-dll.zip)
80
2. If you don't wish to put the files into your MS visual studio
81
directories and install the dll into windows\system32:
83
a. Put a copy of zlib1.dll into Deploy\bin\Release and
86
b. Copy the header files into Deploy\include
88
c. Copy zdll.lib and zdll.exp into Deploy\lib\Release and
91
b. Open the Visual Studio project in OpenEXR\vc\<vc7|8>\OpenEXR.
93
c. Select the Release configuration and build. The IlmImfTest
94
program runs a confidence test of your build to make sure
95
it is able to work, and may take some time to complete.
97
d. Optionally select the Debug configuration and build.
99
Step 3. Compile CTL support
101
a. Open the Visual Studio project in CTL\vc\<vc7|8>\CTL.
103
b. Select the Release configuration and build. The IlmCtlTest
104
program runs a confidence test of your build to make sure it is
105
able to work, and may take some time to complete.
107
c. Optionally select the Debug configuration and build.
109
Step 4. Compile OpenEXR_CTL support
111
a. Open the Visual Studio project in OpenEXR_CTL\vc\<vc7|8>\OpenEXR_CTL.
113
b. Select the Release configuration and build.
115
c. Optionally select the Debug configuration and build.
117
Step 5. Compile OpenEXR_Viewers
119
a. Open the appropriate Visual Studio project in
120
OpenEXR_Viewers\vc\<vc7|8>\OpenEXR_Viewers depending on whether or not
121
you want CTL support.
123
b. exrdisplay requires fltk to work.
125
1. Go to http://www.fltk.org and download fltk 1.1.7
127
2. Open its project files and compile using the instructions they
130
3. Create the fltk directory at the top level of your directory
131
structure as presented above and copy the FL, GL, and lib folders
132
into the fltk directory
134
4. exrdisplay links fltk statically, so no dll is needed.
136
c. playexr requires the nvidia cg library as well as glut and glew.
138
1. Setup the cg toolkit
140
a. Go to http://developer.nvidia.com, the developer section and
141
download the cg toolkit, version 1.5, and install it. The path
142
where you choose to install Cg is referred to by the
143
<Cg install location> tag in the steps below.
145
b. During the installation, if the integrate with visual studio
146
option is selected, the header files will be automatically found.
147
Otherwise, copy the directory <Cg install location>\Cg\include\Cg
150
b. Copy the cg.dll and cgGL.dll from the <Cg install location>\Cg\bin
151
into Deploy\bin\Release and Deploy\bin\Debug, or otherwise make
152
them available (put them in system32, add to path, etc.)
154
c. Copy the cg.lib and cgGL.lib from <Cg install location>\Cg\lib
155
into Deploy\lib\Release and Deploy\lib\Debug
157
2. Make glut available. This can be done via several mechanisms.
160
3. Make glew available. This can be done via several mechanisms.
161
http://glew.sourceforge.net is the master site for this
162
library. See step 4 below.
164
4. nVidia makes both glut and glew available in their SDK package,
165
which is a fairly large download, but provides a wealth of other
166
information on programming for the GPU, and is generally a useful
167
package, so that is the path chosen for this set up.
169
a. Go to http://developer.nvidia.com and download version 10 of the
170
SDK and install it. It will prompt you to install the Cg toolkit,
171
but this is not necessary as it was handled in step 1. The path
172
where you choose to install the SDK is referred to by the
173
<SDK install location> tag in the steps below.
175
b. Make an nvidia folder at the top level, with an include and
176
lib folder inside it. Inside the lib folder, make Debug and
179
c. Copy the <SDK install location>\external\include\GL directory into
180
nvidia\include the GL and glh folders into nvidia\include.
182
d. Copy the glew headers in <SDK install location>\common\GLEW\include\GL
183
into nvidia\include\GL.
185
e. Copy <SDK install location>\common\GLEW\lib\glew32.lib and
186
<SDK install location>\external\lib\glut32.lib into Deploy\bin\Release.
188
f. Copy bin\glut32.dll and bin\glew32.dll into Deploy\bin\Release.
190
d. Build the Release configuration of the OpenEXR_Viewers.
192
e. Build the Debug configuration if desired.
194
At this point, the Deploy folder should be fully built out and ready
195
to be used. Both exrdisplay and playexr are meant to be launched from
196
the command line, as they originated as unix commands, so open a command
197
prompt, cd to the Deploy\bin\Release folder and enjoy.