Mitsuba 1 代已经很老旧了。它最新的版本要求使用VS 2017编译,我只装了VS 2019,在编译的时候踩了很多坑。
使用 master branch 的坑
一开始按照这篇博文讲的方法操作,用 annaconda 创建了一个 python 2.7 的环境,然后安装了 dependecies_win64 里的 Scons 2.5.1。结果在编译的时候,提示找不到 MSVC 编译器。后面还用 visual studio installer 安装的 2017 的 vc,但怎么尝试都是一样的问题。
使用 scons-python3 branch 的坑
后面发现 mitsuba 有一个叫 scons-python3 的 branch,是支持用 python 3 编译的。使用这个 branch 的代码就不用特地创建一个 python 2.7 的环境。
在自己的 python 3 环境中安装了 Scons 3.0.0 之后,可以成功编译 mitsuba 了。注意要把 config.py 里 vc 的版本号改成 Scons 在电脑上找到的编译器的版本号。
但是 mtsgui.exe 这个 gui 程序没有编译,编译的时候提示找不到 Qt。但是之前用 master branch 的时候是可以找到 Qt 的。后面终于发现,scons-python3 这个 branch 只修改了 build/SConscript.configure 和 build/SConscr