【发布时间】:2020-11-30 10:01:32
【问题描述】:
当我尝试通过'make'编译源代码时,创建'.o'文件的第一步运行良好,所有'.o'文件都可以正常编译。但是,在编译可执行文件时:
mpifort -fopenmp -O3 -o MyEXE sth.o main.o -L/usr/local/share/fftw-3.3.8/lib -lfftw3_mpi -lfftw3 -lm -L/usr/local/share/mpich-3.2/lib -lmpi -lz -L/usr/local/share/hdf5-1.8.18/lib -lhdf5_fortran -lhdf5hl_fortran -lhdf5_hl -lhdf5 -fPIC
出现以下错误:
/usr/bin/ld: /usr/local/share/hdf5-1.8.18/lib/libhdf5.a(H5PL.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
我该如何解决这个问题?一些页面提示这是由于调用 c++ 编译器时的 '-ldl- 标志,但我找不到适合我的情况的方法。
【问题讨论】:
标签: linux mpi gfortran hdf5 fftw