HDF5库错误

5

我正在使用以下内容:

1)VS 2010 C++ 2)Debug 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
3个回答

2
您可能安装了两个版本的HDF5,并使用其中一个(1.8.12)进行编译,但与另一个(J:/dev/opt/hdf5-1.8.11中的1.8.11)进行链接,或者更有可能的是您安装了HDF5,编译了程序,然后稍后更新了HDF5,但未清除项目中的一些对象文件...
首先尝试清理全部并再次构建您的程序,这可能已足够。
如果此方法无效,请查找是否同时安装了两个版本,并在这种情况下删除其中一个,然后清理全部并再次构建您的程序。
如果此方法仍然无效,请删除系统上的所有HDF5内容并重新安装HDF5库,清理全部并再次构建您的程序。

非常感谢Simon,我已经完成了所有操作,但是没有解决错误。Visual Studio没有提供"全部清除"(Clean All)选项,只有一个"清除"(Clean)选项。奇怪的是,我已经多次卸载并重新安装了HDF5,但仍然遇到了相同的问题。我真的很想解决这个问题,我该怎么办? - ganesh reddy
我该怎么做才能确保我已经删除了所有先前的版本? - ganesh reddy
其实我现在意识到,我也在使用一个Python xy发行版,它的DLL文件夹中有一些hdf5 dll文件。我想一些Python包可能会包含它。这可能是问题吗?如果是,我该如何诊断/修复它? - ganesh reddy
我不知道Windows上的典型安装位置。请查看您的VS项目参数中的编译标志和链接标志,并确保它们指向相同的版本。恐怕我不能再帮助你了。 - Simon
或者更有可能的是您安装了HDF5,编译了程序,然后更新了HDF5,但没有清理项目中的某些对象文件。您真是位伟大的人。 - DilithiumMatrix

0

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

您可以自行决定,通过将环境变量'HDF5_DISABLE_VERSION_CHECK'设置为值'1'来禁用此警告。

HDF5_DISABLE_VERSION_CHECK=1设置可抑制它。


0

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

conda install -c anaconda hdf5=1.8.12

我希望这对你也有用


conda不是一个Python工具吗? - CodenameLambda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接