【问题标题】:HDF5 Library errorHDF5 库错误
【发布时间】:2014-03-11 09:53:04
【问题描述】:

我正在使用以下

1) VS 2010 C++ 2)调试Win 32 3) 这里的图书馆

http://www.hdfgroup.org/HDF5/release/obtain5.html

基本上我下载了 Windows(32 位)编译器:CMake VS 2010 C、C++、IVF 12、RWDI 并安装了它。我试图在我的 C++ 应用程序中包含一个示例代码并遇到以下情况

***HDF5 library version mismatched error***
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked.
Data corruption or segmentation faults may occur if the application continues.
This can happen when an application was compiled by one version of HDF5 but
linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library related
settings such as 'LD_LIBRARY_PATH'.
You can, at your own risk, disable this warning by setting the environment
variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.
Setting it to 2 or higher will suppress the warning messages totally.
Headers are 1.8.12, library is 1.8.11
      SUMMARY OF THE HDF5 CONFIGURATION
      =================================

General Information:
-------------------
                   HDF5 Version: 1.8.11
                  Configured on:
                  Configured by: Visual Studio 9 2008
                 Configure mode: CMAKE 2.8.11.2
                    Host system: Windows-6.1
              Uname information: Windows
                       Byte sex: little-endian
                      Libraries:
             Installation point: J:/dev/opt/hdf5-1.8.11

【问题讨论】:

    标签: c++ runtime-error hdf5


    【解决方案1】:

    您要么安装了两个版本的 HDF5,并且正在编译一个 (1.8.12) 但与另一个链接(J:/dev/opt/hdf5-1.8.11 中的 1.8.11),或者您更可能安装了 HDF5,编译了程序,然后更新HDF5 后来并没有清理你项目中的一些目标文件......

    首先尝试Clean All并再次构建你的程序,这可能就足够了。

    如果这不起作用,请检查您是否同时安装了两个版本,如果是,请删除其中一个,Clean AllBuild 你的程序。

    如果这不起作用,请删除系统上的所有 HDF5 内容并重新安装 HDF5 库,Clean All构建您的程序。

    【讨论】:

    • 非常感谢西蒙,我已经完成了上述所有操作,但没有遇到错误。 Visual Studio 没有给我一个 Clean All,我使用了一个 Clean。奇怪的是我已经从我的系统中多次卸载 HDF5 并重新安装它,仍然遇到同样的问题。我真的很想修复它,我该怎么办?
    • 我可以做些什么来确保我已经删除了所有以前的版本?
    • 实际上我现在意识到,我也在使用一个 python xy 发行版,它的 DLL 文件夹中有一些 hdf5 dll。我认为一些python包包括它。这可能是问题吗?如果是,我该如何诊断/修复它?
    • 我不知道 Windows 上的典型安装位置。查看 VS 项目参数中的编译标志和链接标志,确保它们指向相同的版本。恐怕除了这个我也帮不了你了。
    • "或者更有可能您安装了 HDF5,编译了您的程序,然后更新了 HDF5,并且没有清理您项目中的某些目标文件"您是男人中的王者,先生。
    【解决方案2】:

    我有同样的问题,我通过使用解决了这个问题

    conda install -c anaconda hdf5=1.8.12
    

    我希望这对你也有用

    【讨论】:

    • conda 不是 python 工具吗?
    【解决方案3】:

    这似乎只在应用程序(使用 Theano+Keras+Anaconda)在 Windows 机器上使用 PyCharm 运行时出现。

    You can, at your own risk, disable this warning by setting the environment variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.

    设置HDF5_DISABLE_VERSION_CHECK=1 会抑制它。

    【讨论】:

      猜你喜欢
      • 2020-01-10
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 2015-12-28
      • 2020-07-11
      • 2018-03-23
      • 2018-10-07
      相关资源
      最近更新 更多