0
我想編譯一個由Hernan Badino編寫的計算機視覺庫,名字爲QCV,但我有很多與QGLViewer庫有關的鏈接問題。 編譯器拋出的錯誤是:連接GLUT和QGLViewer的問題
//usr/lib/x86_64-linux-gnu/libQGLViewer.so.2: undefined reference to `gluNewQuadric'
//usr/lib/x86_64-linux-gnu/libQGLViewer.so.2: undefined reference to `gluUnProject'
//usr/lib/x86_64-linux-gnu/libQGLViewer.so.2: undefined reference to `gluCylinder'
//usr/lib/x86_64-linux-gnu/libQGLViewer.so.2: undefined reference to `gluPickMatrix'
//usr/lib/x86_64-linux-gnu/libQGLViewer.so.2: undefined reference to `gluSphere'
//usr/lib/x86_64-linux-gnu/libQGLViewer.so.2: undefined reference to `gluProject'
這些鏈接相關的問題(我想)到了OpenGL/GLUT庫。我正在使用CMake進行編譯,並且在CMakeLists.txt文件中正確請求(並找到)GLUT依賴項。 CMake文件的相關部分位於:
##################################
# OpenGL
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
target_link_libraries(imgPlayer ${QT_LIBRARIES}
${OPENGL_LIBRARIES} ${GLUT_LIBRARY}
${QCV_LIB}
${CMAKE_THREAD_LIBS_INIT}
${OpenCV_LIBS})
和「cmake」的輸出。是
-- Found Qt4: /usr/bin/qmake-qt4 (found version "4.8.6")
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Found GLUT: /usr/lib/x86_64-linux-gnu/libglut.so
-- Found OpenCV: /usr/local (found version "3.2.0")
-- Configuring done
-- Generating done
編譯器失敗的可能原因是什麼?
謝謝!
謝謝您的回覆。不幸的是,在CMakeLists中添加$ {OPENGL_glu_LIBRARY}不能解決問題。生成文件正確地添加了標誌-lGLU與其他所有其他標誌(-rdynamic -lQtOpenGL -lQtGui -lQtXml -lQtCore ** - lGLU ** -lGL -lglut -lXmu -lXi -lqcv),但鏈接錯誤仍然存在。 –