由于最近需要用到一些关于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。