【问题标题】:Use HDF5 from intel fortran on windows在 Windows 上使用来自 intel fortran 的 HDF5
【发布时间】:2013-12-01 16:06:32
【问题描述】:

我想从使用 Visual Studio 2010 在 Windows 7 上使用 intel fortran 2011 编译的 fortran90 程序创建 HDF5 数据集

我可以使用预构建的二进制文件还是如何构建新的二进制文件

【问题讨论】:

    标签: visual-studio-2010 hdf5 intel-fortran


    【解决方案1】:

    我从源代码构建,可用的构建二进制文件使用 MS C/C++ 编译器,而我想使用英特尔编译器进行构建,并且它们是使用英特尔 Fortran v12.x 构建的,而我使用的是 v14.x。我不会说你不能使用二进制文件,但过去我已经受够了说服我自己构建的斗争。

    我在尝试直接从 VS 构建它们并现在使用 CMake 时也遇到了困难。您的第一步应该是安装 CMake 并弄清楚如何使用它。你不需要太多的工具知识,付出的努力会得到数倍的回报。例如,如果需要,您还可以使用 CMake 构建 Szip 和 Zlib。 CMake 支持提供了越来越多的此类软件,因此您不一定只将它用于 HDF5。例如,我也使用 CMake 为 Windows 构建 VTK。

    完成此操作并使用 CMake 生成解决方案/项目文件后,您可以在 VS 中加载解决方案并构建 ALL_BUILD。这通常工作顺利,尽管我发现某些项目需要调整它们的链接,有时我会在发送给编译器的命令行中收到虚假标志。然后,在管理员模式下运行VS,就可以构建伪目标INSTALL

    我看到 HDF5 1.8.12 现已可用,我将下载并构建它,让您知道我的进展情况。

    编译和链接

    如果您只想使用 HDF5,请包含该行

      USE, NON_INTRINSIC :: hdf5
    

    在源文件的适当位置。然后,在Project Properties | Fortran | General | Additional Include Directories 下插入hdf5.mod 位置的路径。这应该让你编译。

    要链接,请在Project | Properties | Linker | General | Additional Library Directories 下插入.lib 文件位置的路径。然后,在Project | Properties | Linker | Input | Additional Dependencies 下插入hdf5_fortran.lib

    然后您应该能够编译和链接您的程序。如果您想使用额外的工具,例如 HDF5 表接口,请use h5tb 并找出链接。

    并查阅文档。例如,请参阅../HDF5-1.8.12/release_docs/USING_HDF5_VS.txt

    【讨论】:

    • 谢谢。我现在已经完成了我认为您建议的操作,并且现在有一个文件:bin\release\libhdf5.lib(但依赖项步行者声称它不是 32 位或 64 位 Windows 模块)。听起来是否正确,我该如何使用它
    • 并非如此。您至少还应该有hdf5_fortran.lib 和在文件系统附近的hdf5.mod,以便您可以在源文件中使用use hdf5。您以普通的 VS 方式链接 .lib 文件。
    • 好的,现在 C:\hdf5stuff\build\bin\Release 包含 hdf5.lib,hdf5.dll,hdf5_fortran.lib,hdf5_fortran.dll 等和 C:\hdf5stuff\build\bin\fortran \Release 包含 hdf5.mod 等,但链接出错。哪些文件和文件夹应该链接到哪里?
    【解决方案2】:

    感谢高性能标记,我成功了: 这是我所做的(不确定是否一切都是必要的):

    • 下载并安装 cmake
    • 下载并安装 HDF5 [Windows(32 位),编译器:CMake VS 2010 C、C++、IVF 12、RWDI]
    • 设置环境变量:HDF5_DIR=C:/Program Files/HDF_Group/HDF5/1.8.x/cmake/hdf5
    • 下载 HDF5 源代码
    • 制作空的构建文件夹
    • 从开始菜单运行 CMake(cmake-gui)
    • 设置源(HDF5 源)和目标(空构建文件夹)
    • 配置
    • 将生成器设置为 Visual Studio 10
    • 指定本机编译器 [C:"", C++:"", Fortran: "<..>\ifort.exe"]
    • 检查:BUILD_SHARED_LIBS 和 HDF5_BUILD_FORTRAN
    • 配置
    • 配置
    • 生成
    • 在 Visual Studio 2010 中打开 <..>\build\HDF5.sln
    • 构建项目 ALL_BUILD

    最后

    • 使用 Fortran 示例创建新项目
    • 完全按照高性能标记的描述链接生成的库

    我希望其他人可以使用这个收据。

    再次感谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-29
      • 2012-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 1970-01-01
      相关资源
      最近更新 更多