2014-12-13 84 views
1

我使用-opengl dynamic編譯了qt5.4。我已經測試過,後備工作正常。現在我想用動態的opengl qt庫來編譯qt3d。那可能嗎?問題是我的建築以下面的鏈接問題結束。如果我理解正確,我不應該添加任何opengl庫....我怎麼解決這個問題?如何使用Dynamic OpenGL實現構建qt3d(qt5.4 -opengl動態)

\ConvertUTF" -I"..\..\3rdparty\assimp\contrib\zlib" -I"..\..\3rdparty\assimp\contrib\irrXML" -I"..\..\3rdparty\assimp\contrib\unzip" -I"scene_bezier" -I"network" -I"graphicsview" -I"textures" -I"surfaces" -I"api" -I"C:\Qt\5.4_angle\5.4\msvc2013\include\QtCore\5.4.0" -I"C:\Qt\5.4_angle\5.4\msvc2013\include\QtCore\5.4.0\QtCore" -I"C:\Qt\5.4_angle\5.4\msvc2013\include\QtGui\5.4.0" -I"C:\Qt\5.4_angle\5.4\msvc2013\include\QtGui\5.4.0\QtGui" -I"C:\Qt\5.4_angle\5.4\msvc2013\include" -I"C:\Qt\5.4_angle\5.4\msvc2013\include\QtOpenGL" -I"C:\Qt\5.4_angle\5.4\msvc2013\include\QtWidgets" -I"C:\Qt\5.4_angle\5.4\msvc2013\include\QtGui" -I"C:\Qt\5.4_angle\5.4\msvc2013\include\QtANGLE" -I"C:\Qt\5.4_angle\5.4\msvc2013\include\QtCore" -I"C:\Qt\5.4_angle\5.4\msvc2013\include\QtNetwork" -I".moc\debug" -I"C:\Qt\5.4_angle\5.4\msvc2013\mkspecs\win32-msvc2013" -Fo.obj\debug\ @C:\Users\eDS\AppData\Local\Temp\moc_qgltexture2d_p.obj.1576.138606.jom 
moc_qgltexture2d_p.cpp 
    link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /DLL /SUBSYSTEM:WINDOWS /VERSION:5.30 /MANIFEST:embed /OUT:..\..\lib\Qt53Dd.dll @C:\Users\eDS\AppData\Local\Temp\Qt53Dd.dll.1576.142070.jom 
    Creating library ..\..\lib\Qt53Dd.lib and object ..\..\lib\Qt53Dd.exp 
qglpainter.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall QGLPainter::updateFixedFunction(class QFlags<enum QGLPainter::Update>)" ([email protected]@@[email protected]@[email protected]@@@@Z) 
qglpainter.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "void __cdecl qt_gl_setVertexAttribute(enum QGL::VertexAttribute,class QGLAttributeValue const &)" ([email protected]@[email protected]@@[email protected]@@Z) 
qglpainter.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "public: void __thiscall QGLPainter::updateFixedFunction(class QFlags<enum QGLPainter::Update>)" ([email protected]@@QAEXV? 
+0

作爲@AndonMColreman所述被刪除,這些功能是舊的和不在OpenGL ES 2.0這是顯着的主要組功能的角度(該角度是QT可以使用的替代OpenGL實現)實現。所以,我希望這些函數只能用於'-opengl desktop' – PeterT 2014-12-13 20:26:34

回答

0

glColor4fglColorPointerglLightModelfv是所有的OpenGL 1.1或以上的功能。

在Windows上,它是OpenGL32.lib責任提供那些鏈接時。 Windows上的OpenGL比1.1更新的任何部分都必須在運行時間上動態加載,如果使用適當的包裝類,Qt實際上會爲你做這件事。

無論如何,要解決此問題,只需將OpenGL32.lib添加到鏈接器依賴項中。

0

是提到了這個全新的Qt功能(-opengl dynamic我的意思) 說文章:希望是動態切換必須始終使用 QOpenGLFunctions,並準備於OpenGL和OpenGL ES兩者的作用

應用2.0

source

所以,你不能使用像功能glColor4fglColorPointerglLightModelfvglBegin等已經從OpenGL ES 2.0的

+1

我明白了,所以這意味着qt3d還沒有準備好用於新的動態opengl實現,對吧? – miro 2014-12-13 21:24:00