最近在研究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这个软件了,想想还是很兴奋的~

OpenEXR-2.2.0在Win7 x64系统下的安装方法的更多相关文章

  1. win7(X64)系统下cuda7.5和VS2013的配置

    &1 安装 cuda7.5文件:链接:http://pan.baidu.com/s/1bU2zIQ 密码:nvyw &2 环境变量 注意:CUDA_PATH是安装好cuda7.5之后会 ...

  2. Adobe/Flash Media Server 5.0 linux 64位系统下的安装

    一.下载 Adobe/Flash MS5.0下载地址: http://fs1.d-h.st/download/00036/VOt/adobemediaserver_5_ls1_linux64.tar. ...

  3. renren-vue 基于最新node10.8、npm6.2 在win7 x64系统 成功初始化启动

    renren-vue 基于最新node.npm初始化之路 renren-fast 是一个轻量级的 Spring Boot 快速开发平台,能快速开发项目并交付[接私活利器] 完善的 XSS 防范及脚本过 ...

  4. Windows7 x64 系统下安装 Nodejs 并在 WebStorm 9.0.1 下搭建编译 LESS 环境

    1. 打开Nodejs官网http://www.nodejs.org/,点“DOWNLOADS”,点64-bit下载“node-v0.10.33-x64.msi”. 2. 下载好后,双击“node-v ...

  5. Tomcat 在win7/win8 系统下tomcat-users.xml.new(拒绝访问)解决方法

    tomcat启动报错No UserDatabase component found under key UserDatabase 也可以这样处理 Tomcat 在win7/win8 系统下tomcat ...

  6. Windows7 x64系统下安装Nodejs并在WebStorm下搭建编译less环境

    1. 打开Nodejs官网http://www.nodejs.org/,点“DOWNLOADS”,点64-bit下载“node-v0.10.33-x64.msi”. 2. 下载好后,双击“node-v ...

  7. Sysbench Sysbench在centos系统下的安装

    Sysbench在centos系统下的安装   by:授客 QQ:1033553122       测试环境: CentOS-7-x86_64-DVD-1503-01.iso 下载地址: http:/ ...

  8. centos7系统下nginx安装并配置开机自启动操作

    准备工作 我的centos7系统是最小化安装的, 缺很多库, 首先安装必须的运行库 ? 1 2 3 4 5 6 7 8 9 10 11 yum install wget gcc gcc-c++ pcr ...

  9. Linux 系统下Eclipse安装及使用

    Linux 系统下Eclipse安装及使用 我们在搞上层开发的时候,都是在Windows下使用Eclipse,那么如果是Linux应用开发,就必须要在Linux中安装Eclipse,用于C/C++开发 ...

随机推荐

  1. CVE-2018-7566

    概念解读 什么是竞争条件? 由于两个或者多个进程竞争使用不能被同时访问的资源,使得这些进程有可能因为时间上推进的先后原因而出现问题,这叫做竞争条件(Race Condition). 什么是互斥锁? 在 ...

  2. 常见Web应用程序漏洞

    不完善的身份验证措施 .这类漏洞包括应用程序登录机制中的各种缺陷,可能会使攻击者破解保密性不强的密码.发动蛮力攻击或完全避开登录. 不完善的访问控制措施.这一问题涉及的情况包括:应用程序无法为数据和功 ...

  3. JAVA接口传递参数(POST),从接口接收数据(JSON) -----记录

    1,给接口传递json格式的数据 import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOEx ...

  4. JAVA中日期和时间的格式化选项

    一.使用printf方法 import java.util.Date; import java.util.Scanner; public class Test { public static void ...

  5. 【转载】 Pytorch(0)降低学习率torch.optim.lr_scheduler.ReduceLROnPlateau类

    原文地址: https://blog.csdn.net/weixin_40100431/article/details/84311430 ------------------------------- ...

  6. Subsequence Count 2017ccpc网络赛 1006 dp+线段树维护矩阵

    Problem Description Given a binary string S[1,...,N] (i.e. a sequence of 0's and 1's), and Q queries ...

  7. linux rpm yum 安装 软件

    rpm 安装: 1.rpm包的了解:  rpm  安装  升级  删除 rpm -ivh  ****.rpm   安装 rpm -Uvh  ****.rpm  升级 rpm -e name    删除 ...

  8. Blender节点笔记

    Blender节点笔记实现复杂材质,纹理的更直观的方式就是使用节点功能. 每个节点左边作为输入,右边作为输出.节点之间通过传递值影响后者.传递的值为(Scalars,Vectors)标量与矢量.二维矢 ...

  9. (13)自定意义标签和过滤器 (templatetags)

    过滤器分内置和自定意义 PS:过滤器可以用在for循环和if判断后,但是标签不能使用在for循环和if判断后 内置过滤器: add(在模板中实现加减法) default(就是当传入的变量是False的 ...

  10. 原生的js轮播图

    图片会照常循环播放,当然也可以通过按钮来进行切换,当切出当前的页面时,等到你在回到当前页面时该轮播的图片还是停留在你之前所切出去的的那张图片的状态. HTML部分: <html> < ...