2016-12-06 50 views
0

我試圖根據https://blog.kitware.com/building-vtk-for-mobile-architectures/上的說明編譯iOS的VTK 7.1.0。爲iOS編譯VTK時缺少OpenGL擴展項目

我看到了以下問題:

[ 90%] Built target vtkglew [ 90%] Building CXX object 
Rendering/OpenGL2/CMakeFiles/vtkRenderingOpenGL2.dir/vtkOpenGLPolyDataMapper.cxx.o 

/Users/nclex/Documents/dev/VTK/VTK-7.1.0/Rendering/OpenGL2/vtkOpenGLPolyDataMapper.cxx:1582:36: error: 

     use of undeclared identifier 'GL_MULTISAMPLE' 

    bool multisampling = glIsEnabled(GL_MULTISAMPLE) == GL_TRUE; 

GL_MULTISAMPLE在glew.h這是源代碼樹的一部分定義的,但不知道爲什麼它沒有被編譯過程中看到。

我在MacOS 10.12.1(Sierra)上使用Xcode 8.1。 VTK代碼是位於http://www.vtk.org/download/的7.1.0鏈接。

回答

0

看來vtkOpenGLPolyDataMapper.cxx有一些錯誤。

要解決的編譯,我把它換成:

#if GL_ES_VERSION_3_0 != 1 
    bool multisampling = glIsEnabled(GL_MULTISAMPLE) == GL_TRUE; 
#else 
    bool multisample = false; 
#endif 

#if GL_ES_VERSION_3_0 != 1 && defined GL_MULTISAMPLE 
    bool multisampling = glIsEnabled(GL_MULTISAMPLE) == GL_TRUE; 
#else 
    bool multisampling = false; 
#endif 

UPDATE 的混帳回購協議的同一天被更新以修復此。 這個項目的回購似乎沒有得到很好的策劃(或者至少,拉入請求在被合併之前並未進行全面測試)。