ubuntu下cuda8.0导致Pangolin编译失败

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里面的默认的就是上述cuda对应的glew.h的路径,但是手动安装的glew本身也有一个glew.h文件,在/usr/include/GL/glew.h,此文件是包含GL_SHADER_STORAGE_BUFFER的,但cuda的文件是不包含的,参考链接(已在回复中给出一个较好的解决方案),即需要修改一点点源码,方式如下:

    It works by changing the in pangolin/gl/glplatform.h using /usr/include/GL/glew.h.

你可能感兴趣的:(计算机视觉,cuda)