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

最近在研究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-x64ilmbase

                                                  openexr

                                                  zlib

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

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

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

cd C:libs-x64ilmbase

setlocal

del /f CMakeCache.txt

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

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

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

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

cd C:libs-x64zilb

setlocal

del /f CMakeCache.txt

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

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

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

cd C:libs-x64openexr

setlocal

del /f CMakeCache.txt

cmake -D ZLIB_ROOT="C:libs-x64zlibvc" -D ILMBASE_PACKAGE_PREFIX="C:libs-x64ilmbasevc" -D CMAKE_INSTALL_PREFIX="C:libs-x64openexrvc" -G "Visual Studio 10 Win64" ..openexr

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

    C:Program Files (x86)MSBuildMicrosoft.Cppv4.0Microsoft.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这个软件了,想想还是很兴奋的~

原文地址:https://www.cnblogs.com/hksac/p/4978838.html