我在 16.04。当我
sudo apt-get install mpich
并检查 lib 目录
/usr/lib/mpich
它包含预期的包含目录,但其中包含 lib 目录:
/usr/lib/mpich/lib
是一个符号链接:
/usr/lib/x86_64-linux-gnu
据我所知,没有 lib 文件,我无法编译代码,因为它找不到 mpich 库。
/usr/lib/mpich$ 读取链接 -f lib
回报:
/usr/lib/x86_64-linux-gnu
以下是编译和链接命令:
ifort -warn none -O2 -I/usr/include/mpich/ -c 边界.F90 -o 边界.o
ifort -o 边界.o -lmpi
错误是:
边界.F90:(.text+0xaa): 未定义对 `mpi_sendrecv_' 的引用
并且链接目录是
/usr/include/mpich/lib
该
mpich
软件包仅包含运行 MPICH 程序所需的程序二进制文件。您将需要安装
libmpich-dev
包含 MPICH 头文件和静态库的包,以及构建 MPICH 程序所需的编译器包装器。根据您提供的错误消息,问题不在于
mpich
未正确安装,而是您未能为相关函数链接必要的库,这似乎是libmpichfort
即你需要添加
到您的链接命令。