fortran - 如何编译需要HDF5库的程序(使用Codeblocks)?

标签 fortran codeblocks

我有 11 个文件都需要 HDF5 库。通常我只是使用另一种方式来编译和构建该程序。现在我改变了主意,我想使用 Codeblocks 自己做。

问题是这样的:

  1. 我在代码块中打开项目中的“构建选项”。然后我直接跳转到链接器设置。并添加需要的.a库文件。
  2. 然后我只需点击“重建工作区”即可。

这里出现错误消息:

gfortran -Jobj/Debug/ -Wall  -g  -O3    -c "/home/shawn/Documents/datafile_oldubuntu/Academics/Data_analysis_code/Helmholtz decomposition+rotcombudget/code_budget/budget_helmholtz_comrot_ver2.0_symmertic/global.f90" -o obj/Debug/global.o

/home/shawn/Documents/datafile_oldubuntu/Academics/Data_analysis_code/Helmholtz decomposition+rotcombudget/code_budget/budget_helmholtz_comrot_ver2.0_symmertic/global.f90:3.4:

USE HDF5
    1

Fatal Error: Can't open module file 'hdf5.mod' for reading at (1): No such file or directory
Process terminated with status 1 (0 minute(s), 1 second(s))
1 error(s), 0 warning(s) (0 minute(s), 1 second(s))

如你所见,我的编译文件夹本地没有一个名为hdf5.mod的东西。所以这意味着代码块中的链接器选项不起作用。为什么?

最佳答案

还要确保您已安装串行 hdf5 库包。这可能会在将来对其他人有所帮助。

在 Ubuntu 上:

sudo apt-get install libhdf5-serial-dev

我收到了与您相同的错误,因为我只有 MPI 版本(libhdf5-openmpi-devlibhdf5-mpich-dev)

在 MacOS 上:

对于 Fortran,您可能需要部分/全部这些标志:

brew install homebrew/science/hdf5 --with-fortran --with-mpi --with-fortran2003

关于fortran - 如何编译需要HDF5库的程序(使用Codeblocks)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30986415/

相关文章:

c++ - 诅咒 C++ 类的错误

c++ - QuickSort 不排序数组

c - 运行我的代码时出现运行时错误

c++ - 如何在 C++ 中执行文件搜索

linker - fortran 中的多重定义链接错误(ifort - gfortran)

fortran - 'n = n' 的目的是什么?

debugging - 在 Fortran 程序中,检查是否使用 "-g"进行编译

从 C 调用模块中的子例程

fortran - 多维数组的存储 fortran 90

c - 尝试使用 pdcurses 扩展库时出现与 gdi32 相关的错误