Windows下编译安装OpenEXR(x86版本)

来源:岁月联盟 编辑:exp 时间:2012-08-13
由于最近需要用到一些关于OpenEXR的东西,需要在Windows安装相关的组件。经过一番尝试,发现需要以下步骤。
1)下载相关组件
在C盘下建立一个目录libs-x86,从OpenEXR官网http://www.openexr.com/downloads.html下载最新稳定版本:
IlmBase 1.02 source code release
OpenEXR 1.7.0 source code release
从网站http://www.winimage.com/zLibDll/index.html  下载zlib-1.2.5的源文件(用到其中的zlib.h和zconf.h)和dll文件:
zlib125.zip
zlib125dll.zip
这里需要说明的是,OpenEXR1.7.0用到的zlib版本为zlib-1.2.5,下载更新的版本会引起错误。
2)将下载文件解压到目录C:/libs-x86下
打开c:/libx-x86/ilmbase-1.0.2/vc/vc8/IlmBase/IlmBase.sln,选择Tools->VisualStudio Command Prompt,在打开的DOS界面输入:
cd c:/libs-x86/ilmbase-1.0.2/Half
cl eLut.cpp
cl toFloat.cpp
eLut > eLut.h
toFloat > toFloat.h
生成相应的文件。
3)选择Debug配置,编译解决方案
4)选择Release配置,编译解决方案
5)此时在C盘下创建了一个目录C:/Deploy,目录下有lib,include,bin三个子目录。
6)复制zlib.h和zconf.h从目录c:/libs-x86/zlib125到目录c:/Deploy/include
复制zdllwapi.lib和zlibwapi.exp从c:/libs-x86/zlib125dll/dll32到C:/Deploy/lib/Win32/Debug
复制zdllwapi.lib和zlibwapi.exp从c:/libs-x86/zlib125dll/dll32到C:/Deploy/lib/Win32/Release
复制zdllwapi.dll从c:/libs-x86/zlib125dll/dll32到C:/Deploy/bin/Win32/Debug
复制zdllwapi.dll从c:/libs-x86/zlib125dll/dll32到C:/Deploy/bin/Win32/Release
 
在VS2010中打开C:/libs-x86/openexr-1.7.0/vc/vc8/OpenEXR/OpenEXR.sln
选择Debug配置,选择ProjectIlmImf,右键ProjectOnly->Build Only IlmImf,然后再Build整个解决方案。
选择Release配置,选择ProjectIlmImf,右键ProjectOnly->Build Only IlmImf,然后再Build整个解决方案。
 
遇到问题及解决方案:
1)在Debug模式下,LINK : fatal error LNK1104: cannot open file '../Win32/Debug/IlmImf.map'
解决方法:IlmImf右键->Properties->Linker->General->Enable Incremental Linking,设置为No。
作者:lqhbupt