pbrt的编译

来源:互联网 发布:ubuntu 安装yum环境 编辑:程序博客网 时间:2024/05/22 06:46

pbrt的网站上可以下载到最新的pbrg的代码,这里用的是pbrt-v2-src.zip, for Windows (14MB)。下载后,在作者网站上的FAQ可以看到编译方法,作者说的是,


如果是VS2008,就读一下README_BUILDING_MSVC2008.txt。因此我们打开src下的README_BUILDING_MSVC2008.txt,按照里面的步骤来。


第一步:

1)Open the src/pbrt.vs2008/pbrt.sln Visual Studio solution file. 

也就是打开src/pbrt.vs2008/pbrt.sln,找到这个文件,双击打开工程。


第二步:

2) Select either Debug or Release, and x86 (win32) or x64.

让你选择Debug或者Release,x86或者x64。默认打开的是Debug,x32的,符合我的需求,因此不动。


第三步,

3) Build the solution.

编译工程。


按下F7后,工程开始编译,这个时候,遇到

libpbrt.lib没有找到。然后我们看到libpbrt是个项目,但是本身可能出了点问题,大致是bison找不到。所以,我们需要首先做的是要让libpbrt项目编译过。


作者的网站上说的是zip解压的时候要用拷贝方式,不要解压到某个地方。本人试过不能解决上述的问题,libpbrt这个项目VC总是会去编译它。所以,我们需要的是编译好这个项目。在上面说到的TXT文件中,我们看到作者说到了Bison和Flex的安装方式,经过查找,发现用Cygwin是方便的方式。到Cygwin官网找到setup.exe,下载,记得在某个对话框页,是Cygwin安装的时候需要附带上的组件,上面有个搜索框,在里面搜索到Bison和Flex,对应B列(也就是Binary,后面有S列(source))的地方打上叉叉,表示这个组件一并安装。然后等安装完毕。Cygwin安装完毕后,查一下它的目录的bin下,是否有Bison和Flex两个exe,有的话就对了。


把Cygwin的bin加入到系统变量的PATH里面。然后我们再次编译一下。


在我的机器上,发生了ren命令语法错误的信息。本人用cmd开启dos窗口,试了一下ren,出命令错误的指示。但是如果到某个目录,把一个文件ren成另外一个,可以成功,说明在我的dos下,ren命令在发现参数为空,也是返回错误。所以,ren命令是好的。只是我们用的语法可能不符合这个版本的dos。因此,稍微想了一下,觉得可能是ren命令不支持目标文件带路径了。一试就爽。看来cmd 5.1.26这个版本的ren命令的确是不支持目标文件带路径。所以,解决这个问题的方式就是:

src\pbrt.vs2008\prebuild.makefile

中,把 ren $(core_dir)\pbrtparse.hpp $(core_dir)\pbrtparse.hh改成下面的就好了。

ren $(core_dir)\pbrtparse.hpp pbrtparse.hh

然后再编译,一切顺利,有不少warning。但是能编译通过了。




原创粉丝点击