中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 3335|回复: 7

关于 pbrt-v3 的编译问题

[复制链接]
发表于 2016-12-2 15:53:44 | 显示全部楼层 |阅读模式
我刚入手 pbrt 第三版,可是与 pbrt-v2 不同,我研究了两天无法编译成功,想要请教一下:
我使用 CMAKE 编译以后,ALL_BUILD,生成失败,试图只生成 libpbrt 也失败。主要有3个问题:
1、INT_MIX ... 等 宏重定义
2、glog.lib 缺失
3、libpbrt.lib 缺失
请问一下正确的编译顺序是什么?我应该下载哪些工具呢?
最后,我使用的是VS2015,WIN10。
如果各位能指导我一下,我真的非常感谢。



shenruiyao于2016-12-2 16:13补充以下内容:
error C3861: “_BitScanReverse64”: 找不到标识符

这个问题该怎么处理?一点头绪都没有
发表于 2016-12-2 18:17:55 | 显示全部楼层
使用cmake的时候选择64位编译器就行了
发表于 2016-12-8 09:10:02 | 显示全部楼层
下载相应的lib,在linux下编译也遇到缺少相关依赖库的情况。
发表于 2016-12-11 11:03:50 | 显示全部楼层
用git clone 然后cmake就行了
发表于 2017-1-3 08:39:46 | 显示全部楼层
看下configure的时候是不是选的visual studio 14.0 2015 win64.应该是只有这个才行
发表于 2017-3-10 09:56:18 | 显示全部楼层
这个问题,我也遇到过,其实就是因为没有区分WIN32和WIN64版本导致的,我的解决方案如下:

1.打开pbrt.h文件

2.找到inline int Log2Int(uint64_t v)

3.替换为:inline int Log2Int(uint64_t v) {
#if defined(PBRT_IS_MSVC)
    unsigned long lz = 0;
#ifdef _WIN32
    if (_BitScanReverse(&lz, v)) return lz;
    return 0;
#else
        if (_BitScanReverse64(&lz, v)) return lz;
        return 0;
#endif
#else
    return 63 - __builtin_clzll(v);
#endif
}

4.重新编译。
发表于 2017-4-8 14:15:30 | 显示全部楼层
我的也cmke出错,找不到库 pthread
发表于 2017-5-16 13:02:37 | 显示全部楼层
请问 你解决了吗?我今天编译也遇到问题了,想请教一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-2-26 03:35 , Processed in 0.039511 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表