ubuntu14.04安装cuda8.0之后,编译Pangolin会出现下面的error
首先给出Pangolin的安装命令
sudo apt-get install libglew-dev git clone https://github.com/stevenlovegrove/Pangolin.git cd Pangolin mkdir build cd build cmake .. cmake --build .
可以看出,Pangolin需要依赖glew,但是如果我们事先安装了cuda,可能就会你下面的error:
error: ‘GL_SHADER_STORAGE_BUFFER’ was not declared in this scope
GlShaderStorageBuffer = GL_SHADER_STORAGE_BUFFER解决方案
因为cuda在安装的时候事先会将
${CUDA_TOOLKIT_ROOT_DIR}/samples/common/inc
加入环境变量,所以./include/pangolin/gl/glplatform.h
里面的<GL/glew.h>
默认的就是上述cuda对应的glew.h
的路径,但是手动安装的glew本身也有一个glew.h
文件,在/usr/include/GL/glew.h
,此文件是包含GL_SHADER_STORAGE_BUFFER
的,但cuda的文件是不包含的,参考链接(已在回复中给出一个较好的解决方案),即需要修改一点点源码,方式如下:It works by changing the
<GL/glew.h>
in pangolin/gl/glplatform.h using/usr/include/GL/glew.h
.