CentOS-7.3编译VTK-5.8.0,报错:ERROR:‘S_IFLINK‘未声明(首次在此函数中使用)

这篇具有很好参考价值的文章主要介绍了CentOS-7.3编译VTK-5.8.0,报错:ERROR:‘S_IFLINK‘未声明(首次在此函数中使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ERROR:'S_IFLINK'未声明(首次在此函数中使用)

Building C object Utilities/vtkhdf5/src/CMakeFiles/vtkhdf5.dir/H5F.c.o
/build/src/VTK/Utilities/vtkhdf5/src/H5F.c: In function 'H5F_build_actual_name':
/build/src/VTK/Utilities/vtkhdf5/src/H5F.c:2224:12: error: 'S_IFLNK' undeclared (first use in this function)

百度搜索了一番,按照“ubuntu16.04 源码编译安装vtk5.8.0ERROR” 的说明,无法解决问题。不过参照其中的指导思想,参照vtk-5.10.1版本中的 Utilities\vtkhdf5\ConfigureChecks.cmake内容,将vtk-5.8.0中的 Utilities\vtkhdf5\ConfigureChecks.cmake对应内容:

SET (LINUX_LFS 0)
IF (CMAKE_SYSTEM MATCHES "Linux-([3-9]\\.[0-9]|2\\.[4-9])\\.")
  # Linux Specific flags
  ADD_DEFINITIONS (-D_POSIX_SOURCE -D_BSD_SOURCE)
  OPTION (HDF5_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON)
  IF (HDF5_ENABLE_LARGE_FILE)
    SET (LARGEFILE 1)
  ENDIF (HDF5_ENABLE_LARGE_FILE)
ENDIF (CMAKE_SYSTEM MATCHES "Linux-([3-9]\\.[0-9]|2\\.[4-9])\\.")
SET (HDF5_EXTRA_FLAGS)
IF (LINUX_LFS)
  SET (HDF5_EXTRA_FLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE)
  SET (CMAKE_REQUIRED_DEFINITIONS ${HDF5_EXTRA_FLAGS})
ENDIF (LINUX_LFS)
ADD_DEFINITIONS (${HDF5_EXTRA_FLAGS})

修改为:

SET (LINUX_LFS 0)
IF (CMAKE_SYSTEM MATCHES "Linux")
  # Linux Specific flags
  ADD_DEFINITIONS (-D_POSIX_SOURCE -D_BSD_SOURCE)
  OPTION (HDF5_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON)
  IF (HDF5_ENABLE_LARGE_FILE)
    SET (LARGEFILE 1)
  ENDIF (HDF5_ENABLE_LARGE_FILE)
ENDIF (CMAKE_SYSTEM MATCHES "Linux")
SET (HDF5_EXTRA_FLAGS)
IF (LINUX_LFS)
  SET (HDF5_EXTRA_FLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE)
  SET (CMAKE_REQUIRED_DEFINITIONS ${HDF5_EXTRA_FLAGS})
ENDIF (LINUX_LFS)
ADD_DEFINITIONS (${HDF5_EXTRA_FLAGS})

然后,重新编译,执行:make

[ 68%] Building CXX object Rendering/CMakeFiles/vtkRendering.dir/vtkXOpenGLRenderWindow.cxx.o
In file included from /usr/include/GL/glx.h:333:0,
      from /home/user1/Downloads/vtk-5.8.0/Rendering/vtkXOpenGLRenderWindow.cxx:31:
/usr/include/GL/glxext.h:480:143: error: ‘GLintptr’ has not been declared
 typedef void ( *PFNGLXCOPYBUFFERSUBDATANVPROC) (Display *dpy, GLXContext readCtx, GLXContext writeCtx, GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
网上搜到的Ubuntu 16.04中解决方法:取消如下内容所在行的注释:

// #define GLX_GLXENT_LEGACY

但是在CenOS 7中没有效果,照样报错。

CentOS 7中的解决办法:

切换到root用户下, gedit /usr/local/include/GL/glxext.h

在打开的文件第479行,添加如下2句:

typedef ptrdiff_t GLsizeiptr;

typedef ptrdiff_t GLintptr;

保存,关闭。

再次编译:make

CentOS-7.3编译VTK-5.8.0,报错:ERROR:‘S_IFLINK‘未声明(首次在此函数中使用),centos,linux,运维

100% 编译成功。文章来源地址https://www.toymoban.com/news/detail-781637.html

到了这里,关于CentOS-7.3编译VTK-5.8.0,报错:ERROR:‘S_IFLINK‘未声明(首次在此函数中使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ARM 嵌入式 编译系列 7.3 -- GCC 链接脚本中 NOLOAD 和 GROUP 的详细介绍】

    请阅读 【嵌入式开发学习必备专栏 之 ARM GCC 编译专栏】 在使用 arm-none-eabi-gcc 工具链中的链接器脚本时,链接脚本使用链接器命令语言来描述如何生成最终的可执行文件。其中, noload 和 group 是两个用于控制链接过程的。 NOLOAD NOLOAD 用于指示链接器在输

    2024年01月16日
    浏览(47)
  • Qt +VTK+Cmake 编译和环境配置(第一篇 采坑)

    VTK下载地址:https://vtk.org/download/ cmake下载地址:https://cmake.org/download/ 版本对应方面,如果你的项目对版本没有要求,就不用在意。我就是自己随机搭建的,VTK选择最新版本吧,如果后面其他的库不支持高版本 ,我在更好低版本的。这里只是介绍一下编译过程。  这个最新版

    2024年02月10日
    浏览(42)
  • IDEA编译报错:Error:java: 无效的源发行版: 17的根本原因

    1.本机默认使用(编译)的jdk与该项目所使用的jdk版本不同。(造成这个原因就是因为在创建项目的时候,idea默认是使用的最新版本进行快速构建的) 2.jdk版本不适用于这个Idea,很典型的一个例子就是使用的Idea是2020的,而你用到的jdk是17,jdk17是2021年推出的,所以你只能去安装

    2024年02月07日
    浏览(42)
  • Linux驱动编译报错ERROR: Kernel configuration is invalid怎么办

    Linux驱动编译报错ERROR: Kernel configuration is invalid怎么办 报错信息 RROR: Kernel configuration is invalid. include/generated/autoconf.h or include/config/auto.conf are missing. Run ‘make oldconfig make prepare’ on kernel src to fix it. WARNING: Symbol version dump ./Module.symvers is missing; modules will have no dependencies and modversi

    2024年02月11日
    浏览(58)
  • Intellij idea 编译报错:Error : java 不支持发行版本5(error: release version 5 not supported)

    问题:在 IntelliJ IDEA 中创建一个Maven项目时,出现以下错误并且无法构建它。 我设法解决了错误并进行到可以构建的地步,因此我将介绍如何处理它。 环境 方法 – 如何处理“错误:java:错误:不支持发布版本 5” – 如何处理“错误:java:当前不支持源选项 5。请使用 6 或

    2024年02月12日
    浏览(40)
  • win10下在Qt中使用VTK(安装VS2017+安装QT5.9.9+编译配置VTK8.2.0)

    作为一个只浅学过C语言和C++的纯小白,在编译VTK(visualization toolkit)并与Qt结合的过程中遇到了很多问题,零零碎碎也看了许多文章教程,但由于版本兼容、过程不完整等问题走了许多弯路,最后东拼西凑勉强完成,故写下这篇文章供大家参考。 本文主要目的是安装vs2017,

    2024年02月11日
    浏览(49)
  • SpringBoot项目编译报错——Fatal error compiling:无效的标记: --release -> [Help 1]

    首先百度过之后知道要核查jdk版本。 加入以下代码。注:source和target要和引用的JDK统一版本,不然会报错。 主要错误如下所示: 淦!设置了一圈怎么报错还是不变,这时候已经过去2小时,快崩溃了。期间经历了clean、reload,依然报同一个错误。网上的各种方法都试了。版本

    2024年02月16日
    浏览(52)
  • QT编译报错:Project ERROR: Unknown module(s) in QT:xxxxx

    初学嵌入式linux的Qt开发过程中,QT Creator用原来的gcc_64套件编译能够正常通过,用新添加的32位mips套件编译不出来,它会报出:unknown module in qt:quick qml positioning quickcontrols2 multimedia的错误 按字面上理解应该是qt的某些模块缺失或者qt无法调用到这些模块,所以首要目的就是找到

    2024年02月03日
    浏览(35)
  • IDEA新建SpringBoot项目时启动编译报错:Error:java: 无效的源发行版: 17

    出现这种错误的原因可能是: 本机默认使用(编译)的jdk与该项目所使用的jdk版本不同。 jdk版本不适用于这个Idea,很典型的一个例子就是使用的Idea是2020的,而你用到的jdk是17,jdk17是2021年推出的,所以你只能去安装新版本的idea。 有时候SpringBoot版本太高不支持java8, 用java

    2024年02月10日
    浏览(56)
  • C/C++开发,VS2019编译报错:error C2039: “string“: 不是 “std“ 的成员

    C/C++开发,VS2019编译报错如下: 在VS2019中,对语法的检查更严格,缺少相应的头文件 添加文件件C++头文件

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包