Open du-xinyi opened 9 months ago
when calling cmake try to add -DOpenGL_GL_PREFERENCE=LEGACY
Yes.... A straight-forward solution is just to Turn OFF rgbd... Thank you ...
I made experiments with Ubuntu 18.04, 20.04 and 24.04. Only Ubuntu 24.04 provides QT6 package (6.4.2). All the combinations were built just fine and passed tests. Looks like your QT build is not complete.
In cmake, select
with_opengl=on
,my qt version is 6.5.3. The following error occurred at compile time/usr/bin/ld: CMakeFiles/opencv_rgbd.dir/src/dynafu.cpp.o: in function
cv::dynafu::DynaFuImpl<cv::Mat>::DynaFuImpl(cv::kinfu::Params const&)': dynafu.cpp:(.text._ZN2cv6dynafu10DynaFuImplINS_3MatEEC2ERKNS_5kinfu6ParamsE[_ZN2cv6dynafu10DynaFuImplINS_3MatEEC5ERKNS_5kinfu6ParamsE]+0x3ec): undefined reference to
glGenRenderbuffersEXT' /usr/bin/ld: dynafu.cpp:(.text._ZN2cv6dynafu10DynaFuImplINS_3MatEEC2ERKNS_5kinfu6ParamsE[_ZN2cv6dynafu10DynaFuImplINS_3MatEEC5ERKNS_5kinfu6ParamsE]+0x3f9): undefined reference toglBindRenderbufferEXT' /usr/bin/ld: dynafu.cpp:(.text._ZN2cv6dynafu10DynaFuImplINS_3MatEEC2ERKNS_5kinfu6ParamsE[_ZN2cv6dynafu10DynaFuImplINS_3MatEEC5ERKNS_5kinfu6ParamsE]+0x410): undefined reference to
glRenderbufferStorageEXT' /usr/bin/ld: dynafu.cpp:(.text._ZN2cv6dynafu10DynaFuImplINS_3MatEEC2ERKNS_5kinfu6ParamsE[_ZN2cv6dynafu10DynaFuImplINS_3MatEEC5ERKNS_5kinfu6ParamsE]+0x41e): undefined reference toglGenFramebuffersEXT' /usr/bin/ld: dynafu.cpp:(.text._ZN2cv6dynafu10DynaFuImplINS_3MatEEC2ERKNS_5kinfu6ParamsE[_ZN2cv6dynafu10DynaFuImplINS_3MatEEC5ERKNS_5kinfu6ParamsE]+0x42b): undefined reference to
glBindFramebufferEXT' /usr/bin/ld: dynafu.cpp:(.text._ZN2cv6dynafu10DynaFuImplINS_3MatEEC2ERKNS_5kinfu6ParamsE[_ZN2cv6dynafu10DynaFuImplINS_3MatEEC5ERKNS_5kinfu6ParamsE]+0x442): undefined reference toglFramebufferRenderbufferEXT' /usr/bin/ld: dynafu.cpp:(.text._ZN2cv6dynafu10DynaFuImplINS_3MatEEC2ERKNS_5kinfu6ParamsE[_ZN2cv6dynafu10DynaFuImplINS_3MatEEC5ERKNS_5kinfu6ParamsE]+0x450): undefined reference to
glGenRenderbuffersEXT' /usr/bin/ld: dynafu.cpp:(.text._ZN2cv6dynafu10DynaFuImplINS_3MatEEC2ERKNS_5kinfu6ParamsE[_ZN2cv6dynafu10DynaFuImplINS_3MatEEC5ERKNS_5kinfu6ParamsE]+0x45d): undefined reference toglBindRenderbufferEXT' /usr/bin/ld: dynafu.cpp:(.text._ZN2cv6dynafu10DynaFuImplINS_3MatEEC2ERKNS_5kinfu6ParamsE[_ZN2cv6dynafu10DynaFuImplINS_3MatEEC5ERKNS_5kinfu6ParamsE]+0x474): undefined reference to
glRenderbufferStorageEXT' /usr/bin/ld: dynafu.cpp:(.text._ZN2cv6dynafu10DynaFuImplINS_3MatEEC2ERKNS_5kinfu6ParamsE[_ZN2cv6dynafu10DynaFuImplINS_3MatEEC5ERKNS_5kinfu6ParamsE]+0x48b): undefined reference to `glFramebufferRenderbufferEXT' collect2: error: ld returned 1 exit status make[2]: *** [modules/rgbd/CMakeFiles/opencv_rgbd.dir/build.make:505: lib/libopencv_rgbd.so.4.8.1] Error 1Undefined call function is in
opencv_contrib/modules/rgbd/src/dynafu.cpp