在Linux上构建VTK时收到错误“GLintptr尚未声明”

Linux上构建VTK时,我收到以下错误:
In file included from /usr/include/GL/glx.h:333:0,from /home/mildred/Work/3DKF/VTK/Rendering/vtkXOpenGLRenderWindow.cxx:31:
/usr/include/GL/glxext.h:480:143: error: ‘GLintptr’ has not been declared

解决方法

解决方案是在构建期间定义GLX_GLXEXT_LEGACY.这已完成,但在VTK 5.x的Rendering / vtkXOpenGLRenderWindow.cxx文件或VTK 6.x的Rendering / OpenGL / vtkXOpenGLRenderWindow.cxx中进行了注释.

取消注释该行(这是例如包的ArchLinux补丁):

--- a/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx.orig  2014-11-23 22:16:50.000000000 +0100
+++ b/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx   2014-11-23 22:16:59.000000000 +0100
@@ -27,7 +27,7 @@

 // define GLX_GLXEXT_LEGACY to prevent glx.h to include glxext.h provided by
 // the system
-//#define GLX_GLXEXT_LEGACY
+#define GLX_GLXEXT_LEGACY
 #include "GL/glx.h"

 #include "vtkgl.h"

或者,如果您不想侵入源代码,可以将标志添加到编译器命令行.例如,通过向cmake命令行添加-DCMAKE_C_FLAGS = -DGLX_GLXEXT_LEGACY -DCMAKE_CXX_FLAGS = -DGLX_GLXEXT_LEGACY.你的cmake命令看起来像:

cmake -DCMAKE_C_FLAGS=-DGLX_GLXEXT_LEGACY -DCMAKE_CXX_FLAGS=-DGLX_GLXEXT_LEGACY -Wno-dev ../VTK

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


查找全部容器的日志文件 $ sudo find /var/lib/docker/containers -name *.log 查看日志位置 $ docker inspect --format='{{.LogPath}}' <container_name> 实时查询内容 $
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型
评估Linux系统性能的ttyload工具使用效果
分享在Linux系统中检测SSH版本的方法
介绍Linux平台上的数据加密工具EncryptPad
在Linux系统中,如何查看和诊断块设备信息?
在Linux环境下如何查看块设备信息?
探索Linux操作系统下的数据加密工具EncryptPad
学会在Linux系统中查看硬盘信息
分析SELinux:原理与实践
掌握SELinux策略类别
技巧:有效解读和管理Linux日志文件
查看Linux系统中的所有用户
了解Linux系统中各种不同类型的日志文件
深入理解Linux PS命令
方法:在Linux操作系统中查看用户