Windows下编译安装PBRT V1.05
由于要用到网上的一个插件。虽然现在PBRT已经出了V2版本。仍然需要编译下PBRTV1版本。V1的各个版本功能相似,只是不断的修正BUGS的过程。因此选择了V1的最后一个版本PBRTV 1.05。
1)首先从官网上下载:
pbrt-src-1.05.zip, for Windows (620kB)
2)将文件解压到目录
c:\pbrt-v1
3)在Windows下编译OpenEXR
http://blog.csdn.net/lqhbupt/article/details/7859034
4)先编译项目core。通过后再编译其他项目
在目录C:\pbrt-v1\pbrt-1.05\win32下打开pbrt.sln
4.1)将配置属性设置为All Configurations。
项目属性->Configuration Properties->General->IntermediateDirectory设置为../tmp/$(ProjectName)/
Output Directory设置为../../bin
4.2) 在core项目的属性里VC++Directories中的Include Directories中加入:C:\Deploy\include
core项目右键->Properties->Linker->General->AdditionalLibrary Directories改为C:\Deploy\lib\Win32\Release
4.3)由于我用的是ZLIB-1.2.5版本,其对应的dll和lib分别为zlibwapi.dll和zlibwapi.lib
将core右键->Properties->Linker->AdditionalDependecies,将其改为:
Half.lib
Iex.lib
IlmImf.lib
Imath.lib
zlibwapi.lib
IlmThread.lib
4.4)在core目录下新建文件unistd.h。内容如下:
#ifndef _UNISTD_H
#define _UNISTD_H
#include <io.h>
#include <process.h>
#endif /* _UNISTD_H */
4.5) 在core右键->Properties->C/C++->Preprocessor->PreprocessorDefinition部分加入OPENEXR_DLL
4.6) 在core/exrio.cpp文件中,注释掉
#define hypotf hypot
4.7)编译core项目成功
4.8) 将renderer右键->Properties->Build Events->Post-BuildEvent中的zlib1.dll换成zlibwapi.dll。并将zlibwapi.dll放在解决方案目录下,即win32/目录下。
4.9)修改所有项目的Output Directory为../../bin。
Intermediate Directory为../tmp/$(ProjectName)/
4.10)Build整个解决方案。
5)需要把C:\Deploy\bin\Win32\Release中的所有dll文件拷贝到C:\pbrt-v1\pbrt-1.05\bin中,并设定系统变量PBRT_SEARCHPATH指向C:\pbrt-v1\pbrt-1.05\bin
下载一个测试用的 pbrt 脚本文件,再写个批处理脚本 pbrt.cmd,都放到PBRT 文件夹下的 \scenes 文件夹下,来测试下pbrt 程序吧,批处理脚本如下:
SET PATH=%PATH%;%PBRT_SEARCHPATH%
pbrt.exe sharp.pbrt
"..\...\bin\exrdisplay.exe" sharp.exr
遇到问题及解决方案:
1)c:\pbrt-v1\pbrt-1.05\core\exrio.cpp(29):fatal error C1083: Cannot open include file: 'ImfInputFile.h': No such file ordirectory
在core项目的属性里VC++Directories中的Include Directories中加入:C:\Deploy\include
2)c:\pbrt-v1\pbrt-1.05\core\pbrtlex.cpp(771):fatal error C1083: Cannot open include file: 'unistd.h': No such file ordirectory
在core目录下新建文件unistd.h。内容如下:
#ifndef _UNISTD_H
#define _UNISTD_H
#include <io.h>
#include <process.h>
#endif /* _UNISTD_H */
3)c:\program files(x86)\microsoft visual studio 10.0\vc\include\math.h(167): error C2733: secondC linkage of overloaded function 'hypot' not allowed
解决方法,在exrio.cpp文件中,注释掉
#define hypotf hypot
4)将core项目右键->Properties->Linker->General->AdditionalLibrary Directories改为C:\Deploy\lib\Win32\Release
5)由于我用的是ZLIB-1.2.5版本,其对应的dll和lib分别为zlibwapi.dll和zlibwapi.lib
将core右键->Properties->Linker->AdditionalDependecies,将其改为:
Half.lib
Iex.lib
IlmImf.lib
Imath.lib
zlibwapi.lib
IlmThread.lib
6)1>exrio.obj : errorLNK2001: unresolved external symbol "private: static union half::uif const* const half::_toFloat" (?_toFloat@half@@0QBTuif@1@B)
1>exrio.obj : error LNK2001: unresolved external symbol"private: static unsigned short const * const half::_eLut"(?_eLut@half@@0QBGB)
解决方案:在core右键->Properties->C/C++->Preprocessor->PreprocessorDefinition部分加入OPENEXR_DLL
7)C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(392,5):error MSB6003: The specified task executable "link.exe" could not berun. The process cannot access the file'C:\pbrt-v1\pbrt-1.05\win32\Projects\Debug\link.read.1.tlog' because it is beingused by another process.
原因:多个项目将tlog文件输出到同一目录,导致冲突。
解决方法:发现所有项目的IntermediateDirectory指定到不同的目录。项目属性->ConfigurationProperties->General->Intermediate Directory。原来为Debug\,将其改为../tmp/$(ProjectName)/
Windows下编译安装PBRT V1.05相关推荐
- Windows下编译安装SALOME
SALOME是一套开源跨平台的CAE软件集成开发平台.本文旨在探索在Windows下编译安装SALOME核心模块的方法. 注1:文章内容会不定期更新,敬请关注. 注2:限于笔者研究水平,难免有不当之处 ...
- Windows下编译安装kafka管理工具 kafka-manager (详细)
工具简介: kafka-manager的Github项目地址(项目功能等介绍):https://github.com/yahoo/kafka-manager A tool for managing A ...
- linux windows 编译安装,Windows下编译安装OpenEXR(x86版本)
由于最近需要用到一些关于OpenEXR的东西,需要在Windows安装相关的组件.经过一番尝试,发现需要以下步骤. 1)下载相关组件 在C盘下建立一个目录libs-x86,从OpenEXR官网http ...
- 在windows下编译安装rebar
先安装好git bash 在你选择好的目录右键鼠标,运行 Git Bash Here 依次输入命令 这里用的是码云的连接,git实在太慢了! git clone https://gitee.com/r ...
- freerdp 解压安装_Ubuntu下编译安装运作FreeRdp连接Windows
Ubuntu下编译安装运行FreeRdp连接Windows. linux下编译源码进行USB重定向到远程桌面的测试,经过参数的正确配置,可以正常的重定向.具体的操作步骤如下: ⑴在虚拟机上安装git, ...
- Open Inventor: Windows系统下编译安装Quater
Windows系统下编译安装Quater 济南友泉软件有限公司 一.工具安装 1.1 CMake CMake是一个用于生成不同平台下构建项目的工具.建议使用3.0版本之后的CMake.下载链接 1.2 ...
- Windows下编译Chrome V8
主要还是参考google的官方文档: How to Download and Build V8 Building on Windows 同时也参考了一些其它的中文博客: 脚本引擎小pk:SpiderM ...
- 在Ubuntu下编译安装atom编辑器
2019独角兽企业重金招聘Python工程师标准>>> 今天一大早就在开源中国首页看到了atom编辑器可以下载使用的消息,打开一看只提供Mac版的安装包.于是去Github上看了看, ...
- Windows下编译 Hadoop
Windows下编译 Hadoop-2.9.2 系统环境 系统: Windows 10 10.0_x64 maven: Apache Maven 3.6.0 jdk: jdk_1.8.0_201 Pr ...
最新文章
- 不相交集类以及应用迷宫生成
- 下列哪个可以选中矩形文字块_PPT很难?一个字母就可以搞定
- 【Flutter】Dart 技巧 ( 独立主函数入口 | 可空类型判定 | 默认值设定 )
- Android App解决卡顿慢之内存抖动及内存泄漏(发现和定位)
- ASP.NET MVC (一、控制器与视图)
- GCC __builtin_expect与kernel指令序列优化
- linux系统如何使用fork函数创建子进程
- 5 年 Python 的我,总结了这 90 条写 Python 程序的建议
- java删除表操作,JDBC删除表实例
- java long更大_java – 比Long.MAX_VALUE大的长度
- 测试只描述现象,不下结论
- rs485如何使用_气体检测仪rs485和4-20ma接线方式有什么区别,该如何选择最优的接线方式...
- c语言从入门到精通 PPT,C语言从入门到精通第1章讲述.ppt
- R Fisher精确检验
- ASP.NET MVC2 视频教程下载地址
- 51nod1359 循环探求
- 你真的打算凑合过完这一生吗(转)
- 代沐研:渡尽劫波非农在,空头有望脱苦海
- 删除非空目录linux_如何在Linux中删除空的非空目录
- 自动生成用于测试和评估自动驾驶汽车的各种挑战性场景