Ubuntu16.04安装Mitsuba0.6

按照文档上的进行安装依赖:

sudo apt-get install build-essential scons mercurial libpng12-dev
libjpeg-dev libilmbase-dev libxerces-c-dev libboost-all-dev libopenexr-dev
libglewmx-dev libxxf86vm-dev libpcrecpp0 libeigen3-dev libfftw3-dev

 其中 libpcrecpp0 可能已经过时,ubuntu16上已经有一个包。qt4-dev-tools不用安装

 

问题1:

Package QtWidgets was not found in the pkg-config search path

我一开始用Anaconda中提供的Qt5来,但是不行,编译版本可能和mitsuba编译版本不一致

export PKG_CONFIG_PATH=/home/xkl/anaconda3/lib/pkgconfig:$PKG_CONFIG_PATH

 

 

我选择不编译mtsgui,将SConstruct里面相关语句注释掉。

# Build the Qt-based GUI binaries
# build('src/mtsgui/SConscript', ['mainEnv', 'converter_objects'], duplicate=True)

 

把build目录下SConscript.install中,hasQt的相关内容也注释掉

        # if hasQt:
                # install(distDir, ['mtsgui/mtsgui'])

 

问题2:

/usr/bin/ld: cannot find -lGL

执行sudo apt-get install libgl-dev发现提示:选中 'libgl1-mesa-dev' 而非 'libgl-dev'

 

 

进入/usr/lib目录,执行:

sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 ./libGL.so

 

问题3:

/usr/bin/ld: cannot find -lcollada-dom2.4-dp


sudo apt-get install libcollada-dom2.4-dp-dev

可以解决问题。

 

问题4:在src/shapes/ply/ply_parser.hpp文件中有代码编译不过去

在config.py中CXXFLAGS里加上: '-std=c++11'

 

 

编译成功之后,如果在dist中直接运行mitsuba,会报告找不到libmitsuba-core.so

原因是没有设置LD_LIBRARY_PATH,需要把mitsuba编译好的库所在路径配置一下。

 

posted @ 2022-05-13 00:10  heartxkl  阅读(298)  评论(0编辑  收藏  举报