我打算从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库链接,所以我可能需要在链接选项中包含一些路径,或者我需要在g++
编译器,我不知道如何做到这一点,所以请帮助解决这个问题。
答案 0 :(得分:3)
你应该找到文件libgfortran.*
(例如locate
的{{1}};或者在windows-way find / -name "libgfortran.*"
或任何文件管理器中),记录它所在的路径和做
Win+g, F3
其中PATH_RECORDED是路径。
试试这个lib列表(使用-v选项从我的mingw gfortran获取)
g++ mlp8.o mean_cpp.o -o main -LPATH_RECORDED –lgfortran