打开HDF5的已编译模块时出错

时间:2016-10-27 10:01:08

标签: fortran hdf5

我有一个Fortran程序,其中一个文件以行use HDF5开头。该程序先前已编译并在特定群集上运行。现在,我正在尝试在不同的群集中编译该程序,该群集已在特定位置安装hdf5

我认为问题在于编译器无法理解hdf5安装目录的位置。我也尝试通过hdf5导出来指定LD_LIBRARY_PATH位置。它仍然无效。有人能帮我弄清楚我做错了吗?

编译器标志还包括-lhdf5_fortran-lhdf5

更新:编译时的错误列表很长。但是,它的开头看起来像这样:

lbe_io_hdf5.F90(7): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [HDF5]
  use HDF5
------^
lbe_io_hdf5.F90(82): error #6683: A kind type parameter must be a compile-time constant.   [HID_T]
  integer(hid_t) :: file_id      ! File identifier

1 个答案:

答案 0 :(得分:0)

HDF5附带了Fortran的编译器包装器h5fc。对于单个程序文件:

h5fc -o my_program my_program.f90

对于单独的编译和链接:

h5fc -c file1.f90
h5fc -c my_program.f90
h5fc -o my_program file1.o my_program.o

如果要直接调用编译器,请检查

给出的标志
h5fc -show

如果没有h5fc命令,则表示您没有安装Fortran的HDF5。