2016-10-27 53 views
0

我有一个Fortran程序,其中一个文件以use HDF5开头。该程序先前已编译并在特定群集上运行。现在,我正尝试在另一个集群中编译该程序,该集群已经安装在特定位置,已经安装了hdf5打开HDF5编译模块时出错

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

编译器标志还包括-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 
+0

你必须首先告诉我们你在做什么。否则,我们真的不知道你在做什么错... –

+0

**从来没有**使用句子*“它不工作”*的问题。怎么了?错误?错误的结果?它打印什么?请明确点。 –

+0

我添加了编译日志。 –

回答

0

HDF5带有一个编译器包装h5fc于Fortran。对于单个程序文件:

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。