http://www.mail-archive.com/address@hidden/msg00870.html
bottom line: if you want 'static' builds, for any MSVC platform/build combo, I suggest you convert ALL openexr projects to 'static lib'.
As described in link above, but there's a little more to attend to to make it work for real:
first, you load those projects into MSVC and then for each DLL project go to
properties > Configuration Properties > General > Configuration Type = 'Static Library (.lib') instead of 'Dynamic Library (.dll)'
Next, you need to remove the CreateDLL postprocess phase as that is not needed in a static build environment: same dialog, so
properties > Configuration Properties > Build Events > Post-Build Event.
There you have to tread a little carefully as you ONLY want to remove the CreateDLL invocation, not the file copying, etc. (or you'll have to tweak the dependent projects to point at the new libs, which, now that I think about while typing this quickly, /might/ be a good thing to do, though would require one to always include the openEXR vcproj's in their own larger projects -- an approach which I always do myself, but not everyone does it like that. Anyway...) -->
remove any lines in there that invoke CreateDLL (these may be long and DO MAKE SURE to click that [...] edit button right next to the line showing those commands as the post section has multiple commands and you only want to edit a few in each.
Indeed this recipe works well. We have used something similar to create static builds for all libraries with VS2005 and VS2008.