这里使用的是OpenImageIO 1.1.11,要将OIIO解压到[工作目录]/openimageio/oiio里面。

先要给OIIO打一个patch,patch文件是Blender提供的:

下载OpenImageIO 1.1.11 Windows Patch

打好patch以后,对于Debug,在[工作目录]/openimageio创建如下bat文件并用Visual Studio 2008命令行运行:

@Echo off

cd oiio

set LIBDIR=%CD%\..\..

:: create build directory
mkdir build\windows_debug
cd build\windows_debug

cmake -G "NMake Makefiles" ..\..\src ^
-DCMAKE_INSTALL_PREFIX=%LIBDIR%\openimageio\debug ^
-DILMBASE_INCLUDE_DIR=%LIBDIR%\openexr\include ^
-DILMBASE_HALF_LIBRARIES=%LIBDIR%\openexr\lib\Half_d.lib ^
-DILMBASE_IMATH_LIBRARIES=%LIBDIR%\openexr\lib\Imath_d.lib ^
-DILMBASE_ILMTHREAD_LIBRARIES=%LIBDIR%\openexr\lib\IlmThread_d.lib ^
-DILMBASE_IEX_LIBRARIES=%LIBDIR%\openexr\lib\Iex_d.lib ^
-DOPENEXR_INCLUDE_DIR=%LIBDIR%\openexr\include ^
-DOPENEXR_ILMIMF_LIBRARIES=%LIBDIR%\openexr\lib\IlmImf_d.lib ^
-DLINKSTATIC=ON ^
-DBUILDSTATIC=ON ^
-DBOOST_ROOT=%LIBDIR%\boost ^
-DBoost_USE_STATIC_RUNTIME=ON ^
-DZLIB_INCLUDE_DIR=%LIBDIR%\zlib\include ^
-DZLIB_LIBRARY=%LIBDIR%\zlib\lib\libz_d.lib ^
-DPNG_PNG_INCLUDE_DIR=%LIBDIR%\png\include ^
-DPNG_LIBRARY=%LIBDIR%\png\lib\libpng_d.lib ^
-DJPEG_INCLUDE_DIR=%LIBDIR%\jpeg\include ^
-DJPEG_LIBRARY=%LIBDIR%\jpeg\lib\libjpeg_d.lib ^
-DTIFF_INCLUDE_DIR=%LIBDIR%\tiff\include ^
-DTIFF_LIBRARY=%LIBDIR%\tiff\lib\libtiff_d.lib ^
-DUSE_OPENGL=OFF ^
-DUSE_TBB=OFF ^
-DUSE_FIELD3D=OFF ^
-DUSE_QT=OFF ^
-DUSE_PYTHON=OFF ^
-DCMAKE_BUILD_TYPE=Debug

nmake
nmake install

cd ..\..\..

对于Release使用如下bat文件:

@Echo off

cd oiio

set LIBDIR=%CD%\..\..

:: create build directory
mkdir build\windows
cd build\windows

cmake -G "NMake Makefiles" ..\..\src ^
-DCMAKE_INSTALL_PREFIX=%LIBDIR%\openimageio ^
-DILMBASE_INCLUDE_DIR=%LIBDIR%\openexr\include ^
-DILMBASE_HALF_LIBRARIES=%LIBDIR%\openexr\lib\Half.lib ^
-DILMBASE_IMATH_LIBRARIES=%LIBDIR%\openexr\lib\Imath.lib ^
-DILMBASE_ILMTHREAD_LIBRARIES=%LIBDIR%\openexr\lib\IlmThread.lib ^
-DILMBASE_IEX_LIBRARIES=%LIBDIR%\openexr\lib\Iex.lib ^
-DOPENEXR_INCLUDE_DIR=%LIBDIR%\openexr\include ^
-DOPENEXR_ILMIMF_LIBRARIES=%LIBDIR%\openexr\lib\IlmImf.lib ^
-DLINKSTATIC=ON ^
-DBUILDSTATIC=ON ^
-DBOOST_ROOT=%LIBDIR%\boost ^
-DBoost_USE_STATIC_RUNTIME=ON ^
-DZLIB_INCLUDE_DIR=%LIBDIR%\zlib\include ^
-DZLIB_LIBRARY=%LIBDIR%\zlib\lib\libz.lib ^
-DPNG_PNG_INCLUDE_DIR=%LIBDIR%\png\include ^
-DPNG_LIBRARY=%LIBDIR%\png\lib\libpng.lib ^
-DJPEG_INCLUDE_DIR=%LIBDIR%\jpeg\include ^
-DJPEG_LIBRARY=%LIBDIR%\jpeg\lib\libjpeg.lib ^
-DTIFF_INCLUDE_DIR=%LIBDIR%\tiff\include ^
-DTIFF_LIBRARY=%LIBDIR%\tiff\lib\libtiff.lib ^
-DUSE_OPENGL=OFF ^
-DUSE_TBB=OFF ^
-DUSE_FIELD3D=OFF ^
-DUSE_QT=OFF ^
-DUSE_PYTHON=OFF ^
-DCMAKE_BUILD_TYPE=Release

nmake
nmake install

cd ..\..\..

Windows上编译OpenImageIO的更多相关文章

  1. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  2. [ZZ] 在windows上编译Mesa3d opengl32库

    在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa ...

  3. 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl

    利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...

  4. 在windows上编译wireshark源代码

    终于在windows上成功编译了wireshark源代码,个中酸辛,都是泪..只能说要多试! windows上编译wireshark共用到三个东西:wireshark源代码.python.cygwin ...

  5. 在windows 上编译部署Rap2

    在windows 上编译部署Rap2 引言 安装需要的环境 安装后端站点 创建数据库 在全局安装pm2 和 typescript 配置mysql,redis 数据库链接配置 初始化 编译 初始化数据库 ...

  6. 在windows上编译MatConvNet

    有个BT的要求,在windows上使用MatConvNet,并且需要支持GPU. 费了些力气,记录一下过程(暂不支持vl_imreadjpeg函数) 在这里下载MatConvNet,机器配置vs201 ...

  7. 如何在 Windows上编译Objective-C

    Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多.今天在 ...

  8. Windows 上编译 corefx 源码生成 Linux 上可用的 System.Data.SqlClient.dll

    最近在排查一个奇怪的 EF Core 查询速度慢的问题,需要在 corefx 2.2.3 的 System.Data.SqlClient 源码中打点. github 上签出 corefx 的源代码,运 ...

  9. 在Windows上编译和调试CoreCLR

    生成CoreCLR - Windows篇 本文的唯一目的就是让你运行Hello World 运行环境 Window 7+ Visual studio 2015 确保C++ 工具已经被安装,默认是不安装 ...

随机推荐

  1. HTML怎么让img 等比例缩放

    在img标签里面只设置宽,不设置高,图片就会等比例缩放.

  2. 从邮件原理来看 postfix和docecot

    好早好早以前计算机网络老师就教了说,邮件嘛,就三个协议smtp,imap,pop3. smtp 用来发邮件,imap,pop3用来收邮件.噢?是么.难道没有发现这句话有非常多的漏洞,根本就不能说清楚这 ...

  3. ModleAndView类是干什么的???

    /** * 启用账号 */ @SuppressWarnings("finally") @RequestMapping(value = "/accountStart&quo ...

  4. Linux实战教学笔记29:MySQL数据库企业级应用实践

    第二十九节 MySQL数据库企业级应用实践 一,概述 1.1 MySQL介绍 MySQL属于传统关系型数据库产品,它开放式的架构使得用户选择性很强,同时社区开发与维护人数众多.其功能稳定,性能卓越,且 ...

  5. Scala基础:面向对象之对象和继承

    对象 object 相当于 class 的单个实例,通常在里面放一些静态的 field 或者 method:在 Scala 中没有静态方法和静态字段,但是可以使用 object 这个语法结构来达到同样 ...

  6. Opencv convertScaleAbs

    void cv::convertScaleAbs( cv::InputArray src, // 输入数组 cv::OutputArray dst, // 输出数组 double alpha = 1. ...

  7. C++ std::vector<bool>

    std::vector template < class T, class Alloc = allocator<T> > class vector; // generic te ...

  8. 花了好几个小时的奇葩Mat为0问题

    问题 1. Mat mserMat = adaptive_image_from_points(contour, rect); CCharacter character; character.setCh ...

  9. [C++] Memory Retrieval(内存检索)

    Traverse the memory by  (char*) , because every time it will increase by 1byte when i want get the i ...

  10. code1154 能量项链

    d[l][i]表示:从第i个珠子开始,连续l个珠子合并后释放的最大能量 状态转移方程d[l][i] = d[j][i] + d[l-j][i+j] + w[i]*w[i+j]*w[i+l],j从1到l ...