当前位置: 首页 > news >正文

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

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

相关文章:

  • 使用WinEdt 6 避免跳出注册对话框的一个小技巧
  • 如何在Ubuntu 12.04 LTS中使用低版本gcc/g++
  • Matlab与C/C++联合编程之从Matlab调用C/C++代码
  • Ununtu下在Matlab中读写OpenEXR格式的图片
  • Ubuntu下的Notepad++(SciTE)
  • Ubuntu下的环境变量LD_LIBRARY_PATH
  • Ubuntu下Matlab路径不能永久保存的问题及其解决方案
  • RenderToolbox的学习笔记(一)
  • Ubuntu 12.04下安装Dropbox
  • Windows下在Matlab中读写OpenEXR格式的图片
  • Windows下编译安装PBRT V1.05
  • Ubuntu系统监测工具
  • Ubuntu 12.04下安装OpenCV 2.4.2
  • 【OpenEXR】HDRITools的使用
  • Linux下的Make与Makefile
  • Java 内存分配及垃圾回收机制初探
  • Java比较器对数组,集合排序
  • k8s 面向应用开发者的基础命令
  • KMP算法及优化
  • leetcode讲解--894. All Possible Full Binary Trees
  • mac修复ab及siege安装
  • Python_OOP
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 复习Javascript专题(四):js中的深浅拷贝
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 微服务框架lagom
  • 我这样减少了26.5M Java内存!
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 一个项目push到多个远程Git仓库
  • 原生Ajax
  • C# - 为值类型重定义相等性
  • ​ArcGIS Pro 如何批量删除字段
  • ​io --- 处理流的核心工具​
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $.ajax()参数及用法
  • (13):Silverlight 2 数据与通信之WebRequest
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (2024.6.23)最新版MAVEN的安装和配置教程(超详细)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Python第六天)文件处理
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (分布式缓存)Redis分片集群
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (三)c52学习之旅-点亮LED灯
  • (十八)SpringBoot之发送QQ邮件
  • (四)c52学习之旅-流水LED灯
  • ****三次握手和四次挥手
  • .Net Core与存储过程(一)
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET_WebForm_layui控件使用及与webform联合使用