1. 程式人生 > 其它 >libQGLViewer和g2o版本

libQGLViewer和g2o版本

目錄

libQGLViewer2.6.2

libQGLViewer2.6.2 和 QT5.6.3編譯時候會出錯,初步判斷libQGLViewer2.6.2不支援QT5

錯誤    73    error LNK1120: 50 個無法解析的外部命令    D:\Packages\G2O\libQGLViewer-2.6.2\QGLViewer\debug\\QGLViewerd2.dll    QGLViewer
錯誤    6    error LNK2001: 無法解析的外部符號 __imp__glBegin@4    D:\Packages\G2O\libQGLViewer-2.6.2\QGLViewer\keyFrameInterpolator.obj    QGLViewer
錯誤    7    error LNK2001: 無法解析的外部符號 __imp__glBegin@4    D:\Packages\G2O\libQGLViewer-2.6.2\QGLViewer\qglviewer.obj    QGLViewer
錯誤    39    error LNK2001: 無法解析的外部符號 __imp__glDisable@4    D:\Packages\G2O\libQGLViewer-2.6.2\QGLViewer\qglviewer.obj    QGLViewer
錯誤    9    error LNK2001: 無法解析的外部符號 __imp__glEnd@0    D:\Packages\G2O\libQGLViewer-2.6.2\QGLViewer\keyFrameInterpolator.obj    QGLViewer
錯誤    10    error LNK2001: 無法解析的外部符號 __imp__glEnd@0    D:\Packages\G2O\libQGLViewer-2.6.2\QGLViewer\qglviewer.obj    QGLViewer
錯誤    12    error LNK2001: 無法解析的外部符號 __imp__glFrustum@48    D:\Packages\G2O\libQGLViewer-2.6.2\QGLViewer\saveSnapshot.obj    QGLViewer
錯誤    41    error LNK2001: 無法解析的外部符號 __imp__glLineWidth@4    D:\Packages\G2O\libQGLViewer-2.6.2\QGLViewer\qglviewer.obj    QGLViewer
錯誤    14    error LNK2001: 無法解析的外部符號 __imp__glLoadIdentity@0    D:\Packages\G2O\libQGLViewer-2.6.2\QGLViewer\qglviewer.obj    QGLViewer

libQGLViewer2.7.0

libQGLViewer2.7.0和g2o20160427和g2o20170730不相容

錯誤    19    error C2039: “updateGL”: 不是“g2o::G2oQGLViewer”的成員    

原因分析
libQGLViewer2.7.0更新如下導致出現此問題,導致最後g2o_viewer庫難以生成

QGLViewer extends QOpenGLWidget instead of the deprecated QGLWidget (huge thanks to Gianluca).
Although there are minor differences between the two classes, the switch should be mostly invisible.
Using update() instead of updateGL() is one of them.
The renderText methods were backported to maintain backward compatibility.
Some overloaded constructors (using a QGLFormat or a sharedWidget) are deprecated since they have no equivalent.

解決方式:將報錯中updateGL()替換成update()即可順利編譯生成g2o_viewer

當前方案

libQGLViewer2.6.3版本既支援QT5又和2o20160427和g2o20170730相容