博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

OpenEXR-2.2.0在Win7 x64系统下的安装方法

Posted on 2015-11-19 19:22  SolHe  阅读(5761)  评论(0编辑  收藏  举报

最近在研究openexr这种文件格式,免不得安装一下OpenEXR软件,这个软件是开源的,需要编译安装,我的安装方法是这样的,分享一下。

一:去官网http://www.openexr.com/downloads.html下载ilmbase-2.2.0.tar.gzopenexr-2.2.0.tar.gz

 

二:去官网http://www.zlib.net/ 下载最新版本zlib source code,链接如下:http://zlib.net/zlib-1.2.8.tar.gz

 

三:把三个文件夹都解压放到一个文件夹中,这样做易于管理。

      我的文件夹结构如下:C:\libs-x64\ilmbase

                                                  \openexr

                                                  \zlib

      我的文件夹名字都删掉了版本号,图个在cmd命令行里敲命令轻松。

 

四:打开ilmbase文件夹中的“README.cmake.txt”文件,按照文件中步骤操作即可,只要环境配置没问题,这一步会很顺利:

     把生成工程文件的四段cmd命令贴上来作为参考:

cd C:\libs-x64\ilmbase

setlocal

del /f CMakeCache.txt

cmake -D CMAKE_INSTALL_PREFIX="C:\libs-x64\ilmbase\vc" -G "Visual Studio 10 Win64" ..\ilmbase

    生成完工程之后记得按照说明文件去编译。

 

五:这一步很重要,因为openexr的安装不仅依赖ilmbase项,还需要zlib的支持。在编译安装openexr之前还需要编译安装zlib才行。

      具体步骤同上,附上cmd命令:

cd C:\libs-x64\zilb

setlocal

del /f CMakeCache.txt

cmake -D CMAKE_INSTALL_PREFIX="C:\libs-x64\zlib\vc" -G "Visual Studio 10 Win64" ..\zlib

    生成完工程之后记得按照说明文件去编译。

 

六:编译安装openexr。首先还是要生成一下openexr的vc2010工程,cmd命令如下:

cd C:\libs-x64\openexr

setlocal

del /f CMakeCache.txt

cmake -D ZLIB_ROOT="C:\libs-x64\zlib\vc" -D ILMBASE_PACKAGE_PREFIX="C:\libs-x64\ilmbase\vc" -D CMAKE_INSTALL_PREFIX="C:\libs-x64\openexr\vc" -G "Visual Studio 10 Win64" ..\openexr

    生成完毕后按照说明文档进行编译。编译会提示错误:

    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code -1073741515.

    这个错误代码是因为ilmbase与zlib的库文件并没有被vc2010查找到。在msdn上查找原因,

    会得到这样一个结果:The error code -1073741515 means STATUS_DLL_NOT_FOUND.

    看到这个解释就明白原因了。

    解决办法很简单,分别将ilmbase及zlib工程中编译好的dll文件拷贝到system32中再次编译即可。

    这样vs2010就会在system32中找到这些库文件,从而编译成功。

    当然你在环境变量的path中添加ilmbase及zlib编译好的dll文件所在的文件夹也是可以的。

 

七:编译完openexr之后还需要将生成文件拷贝到system32中去,这样bin文件夹中的可执行文件在执行时才不会提示缺少相应的dll文件。

     这里采用添加环境变量的方式同样可行。

 

 

成功安装OpenEXR就可以利用exrheader.exr工具来分析exr文件中header属性,进一步学习OpenEXR这个软件了,想想还是很兴奋的~