【发布时间】:2011-08-31 23:11:24
【问题描述】:
我将从 FORTRAN 调用一个 C++ 函数,为此我使用 ISO_C_Binding 模块。使用命令压缩 FORTRAN 主文件和 C++ 函数后
gfortran -c mlp8.f90
g++ -c mean_cpp.cc
这将创建对象文件,但在一些成员建议的链接阶段,我将使用命令
g++ mlp8.o mean_cpp.o -o main –lgfortran
即使用 C++ 编译器链接到 FORTRAN 库,但它会给出类似
的错误 /Cygnus/cygwin-b20/H-i586-cygwin32/i586-win32/bin/ld:
cannot open –lgfortran: No such a file or directory
Collect2:ld return 1 exit status
所以我认为主要问题是 g++ 链接器无法与 FORTRAN 库链接,所以我可能需要在链接选项中包含一些路径,或者我可能需要在 @987654326 中进行一些设置@编译器,我不知道该怎么做,所以请帮忙解决这个问题。
【问题讨论】:
-
链接器找不到 gfortran 库(文件名为 libgfortran.a 或 libgfortran.so)。你能检查这个文件是否存在于你的 /lib 目录中吗?另外,我会重新排列命令行以将 .o 文件放在 -o main 后面。
-
这与今天早些时候提出的stackoverflow.com/questions/7255468/… 几乎是同一个问题。合并它们会更好。
标签: linker g++ fortran gfortran fortran95