“的含义是什么?”;(.text&"x2B;0x26c4)";在fortran中表示链接错误消息?

“的含义是什么?”;(.text&"x2B;0x26c4)";在fortran中表示链接错误消息?,fortran,linker-errors,gfortran,undefined-reference,Fortran,Linker Errors,Gfortran,Undefined Reference,我正在LINUX ubuntu 16.04中使用gfortran编译器和ld链接器。 当我编译一些用Fortran 77编写的程序时,出现以下错误消息: libdist.a(setup.F.o): In function `setup_': setup.F:(.text+0x26c4): undefined reference to `mpi_send_' setup.F:(.text+0x2b3c): undefined reference to `mpi_recv_' setup.F:(.t

我正在LINUX ubuntu 16.04中使用gfortran编译器和ld链接器。 当我编译一些用Fortran 77编写的程序时,出现以下错误消息:

libdist.a(setup.F.o): In function `setup_':
setup.F:(.text+0x26c4): undefined reference to `mpi_send_'
setup.F:(.text+0x2b3c): undefined reference to `mpi_recv_'
setup.F:(.text+0x7984): undefined reference to `mpi_send_'
setup.F:(.text+0xb107): undefined reference to `mpi_recv_'
我想这是关于错误的位置。然而,我很难找到错误的地方


我能更好地说明错误的位置吗?例如c/cxx错误:“setup.F:15:12:”

这是一个地址。这不是Fortran错误。这是一个链接器错误。您可以从C或C++代码或由同一链接器链接的任何其他编译代码获得相同的错误。 生成调试符号(编译器选项
-g
-ggdb
或类似选项-参考GCC Fortran手册中的调试选项)以获得更有意义的内容。但如果你这样做了,你会意识到它只会将你指向某个你需要的位置:

  call mpi_send(...)
在一些名为
setup()
的子程序或函数中


因此,在这种情况下,它不是非常有用。重要的是,您应该链接适当的MPI库。通常,这是通过调用
mpif90
mpifort
或类似的包装器来完成的,而不是调用
gfortran
。请参阅MPI库实现的文档。

这是一个地址。这不是Fortran错误。这是一个链接器错误。您可以从C或C++代码或由同一链接器链接的任何其他编译代码获得相同的错误。 生成调试符号(编译器选项
-g
-ggdb
或类似选项-参考GCC Fortran手册中的调试选项)以获得更有意义的内容。但如果你这样做了,你会意识到它只会将你指向某个你需要的位置:

  call mpi_send(...)
在一些名为
setup()
的子程序或函数中


因此,在这种情况下,它不是非常有用。重要的是,您应该链接适当的MPI库。通常,这是通过调用
mpif90
mpifort
或类似的包装器来完成的,而不是调用
gfortran
。请参阅MPI库实现的文档。

尝试在编译命令中包含编译器选项
-g
。尝试在编译命令中包含编译器选项
-g