mp3guy / ElasticFusion

Real-time dense visual SLAM system
Other
1.77k stars 592 forks source link

OpenGL:conflicting declaration #209

Closed tianchengg closed 4 years ago

tianchengg commented 4 years ago

Hello,

I am getting an error as follows when I try to compile elastifusion on my ubuntu 18.04.

[ 4%] Building NVCC (Device) object CMakeFiles/cuda_compile_1.dir/Cuda/cuda_compile_1_generated_cudafuncs.cu.o [ 9%] Building NVCC (Device) object CMakeFiles/cuda_compile_1.dir/Cuda/cuda_compile_1_generated_reduce.cu.o Scanning dependencies of target efusion [ 18%] Building CXX object CMakeFiles/efusion.dir/Deformation.cpp.o [ 18%] Building CXX object CMakeFiles/efusion.dir/ElasticFusion.cpp.o [ 22%] Building CXX object CMakeFiles/efusion.dir/Ferns.cpp.o [ 27%] Building CXX object CMakeFiles/efusion.dir/GlobalModel.cpp.o [ 31%] Building CXX object CMakeFiles/efusion.dir/Utils/DeformationGraph.cpp.o [ 36%] Building CXX object CMakeFiles/efusion.dir/GPUTexture.cpp.o [ 40%] Building CXX object CMakeFiles/efusion.dir/IndexMap.cpp.o [ 45%] Building CXX object CMakeFiles/efusion.dir/Utils/CholeskyDecomp.cpp.o [ 50%] Building CXX object CMakeFiles/efusion.dir/Utils/Intrinsics.cpp.o [ 54%] Building CXX object CMakeFiles/efusion.dir/Utils/Parse.cpp.o In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:20:0: /usr/include/GL/glext.h:12237:105: error: conflicting declaration ‘typedef void ( PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, const GLfloat)’ typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat params); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glplatform.h:58:0, from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glsl.h:37, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/Shaders/Shaders.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:19: /usr/include/GL/glew.h:16092:28: note: previous declaration as ‘typedef void ( PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, GLfloat)’ typedef void (GLAPIENTRY PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat params); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:20:0: /usr/include/GL/glext.h:12239:103: error: conflicting declaration ‘typedef void ( PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum, GLenum, const GLint)’ typedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint params); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glplatform.h:58:0, from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glsl.h:37, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/Shaders/Shaders.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:19: /usr/include/GL/glew.h:16094:28: note: previous declaration as ‘typedef void ( PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum, GLenum, GLint)’ typedef void (GLAPIENTRY PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint params); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:20:0: /usr/include/GL/glext.h:12241:96: error: conflicting declaration ‘typedef void ( PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)(GLenum, const GLfloat)’ typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat params); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glplatform.h:58:0, from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glsl.h:37, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/Shaders/Shaders.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:19: /usr/include/GL/glew.h:16088:28: note: previous declaration as ‘typedef void ( PFNGLFRAGMENTLIGHTMODELFVSGIXPROC)(GLenum, GLfloat)’ typedef void (GLAPIENTRY PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, GLfloat params); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:20:0: /usr/include/GL/glext.h:12243:94: error: conflicting declaration ‘typedef void ( PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)(GLenum, const GLint)’ typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint params); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glplatform.h:58:0, from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glsl.h:37, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/Shaders/Shaders.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:19: /usr/include/GL/glew.h:16090:28: note: previous declaration as ‘typedef void ( PFNGLFRAGMENTLIGHTMODELIVSGIXPROC)(GLenum, GLint)’ typedef void (GLAPIENTRY PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, GLint params); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:20:0: /usr/include/GL/glext.h:12250:104: error: conflicting declaration ‘typedef void ( PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, GLfloat)’ typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat params); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glplatform.h:58:0, from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glsl.h:37, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/Shaders/Shaders.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:19: /usr/include/GL/glew.h:16101:28: note: previous declaration as ‘typedef void ( PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, const GLfloat)’ typedef void (GLAPIENTRY PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat data); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:20:0: /usr/include/GL/glext.h:12251:102: error: conflicting declaration ‘typedef void ( PFNGLGETFRAGMENTMATERIALIVSGIXPROC)(GLenum, GLenum, GLint)’ typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint params); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glplatform.h:58:0, from /home/tianchen/semanticfusion/elasticfusionpublic/Pangolin/include/pangolin/gl/glsl.h:37, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/Shaders/Shaders.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.h:22, from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:19: /usr/include/GL/glew.h:16102:28: note: previous declaration as ‘typedef void ( PFNGLGETFRAGMENTMATERIALIVSGIXPROC)(GLenum, GLenum, const GLint)’ typedef void (GLAPIENTRY PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint data); ^ In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:19:0: /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.h: In constructor ‘GlobalModel::GlobalModel()’: /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.h:145:22: warning: ‘GlobalModel::deleted_count’ will be initialized after [-Wreorder] unsigned int deleted_count; ^ /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.h:111:33: warning: ‘std::shared_ptr GlobalModel::initProgram’ [-Wreorder] std::shared_ptr initProgram; ^ /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/GlobalModel.cpp:27:1: warning: when initialized here [-Wreorder] GlobalModel::GlobalModel() ^ [ 59%] Building CXX object CMakeFiles/efusion.dir/Utils/RGBDOdometry.cpp.o CMakeFiles/efusion.dir/build.make:172: recipe for target 'CMakeFiles/efusion.dir/GlobalModel.cpp.o' failed make[2]: [CMakeFiles/efusion.dir/GlobalModel.cpp.o] Error 1 make[2]: 正在等待未完成的任务.... In file included from /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/ElasticFusion.cpp:19:0: /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/ElasticFusion.h: In constructor ‘ElasticFusion::ElasticFusion(int, int, float, float, bool, bool, bool, float, float, float, float, bool, float, bool, bool, std::__cxx11::string)’: /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/ElasticFusion.h:328:14: warning: ‘ElasticFusion::trackingOnly’ will be initialized after [-Wreorder] bool trackingOnly; ^ /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/ElasticFusion.h:327:14: warning: ‘bool ElasticFusion::rgbOnly’ [-Wreorder] bool rgbOnly; ^ /home/tianchen/semanticfusion/elasticfusionpublic/Core/src/ElasticFusion.cpp:21:1: warning: when initialized here [-Wreorder] ElasticFusion::ElasticFusion(const int timeDelta, ^ CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/efusion.dir/all' failed make[1]: [CMakeFiles/efusion.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: [all] Error 2

Thanks!!!

CharlieLeee commented 3 years ago

@tianchengg Hi, have you solved this problem? I met the same problem