`ld:用代码MINUIT库编译Fortran时找不到-libminuit`

时间:2015-07-02 14:22:28

标签: linker fortran fortran90

我对特定的F77库有疑问。它的名字是libminuit。可以从 - >下载它。 https://github.com/ramos/minuit/downloads。它提供了将理论模型与实验数据相匹配的方法。

下载包含F77源代码(许多文件)和makefile。 makefile用于生成库。

我在f95代码中编写了一个chi平方函数,并希望使用minuit库进行最小化。

这是我第一次使用fortran。我首先使用F77编译器生成库,然后使用F95编译器。

在这两种情况下都找不到库。

从生成库到编译和链接的整个过程是:

$ gfortran -c *.F
$ ar rcs libminuit.a *.o
$ cp libminuit.a /home/kai/TEST/f95/lib/libminuit.a
$ rm *o *a
$ nano testM.f90
$ gfortran testM.f90 -L/home/kai/TEST/f95/lib -libminuit
/usr/bin/ld: cannot find -libminuit
collect2: error: ld returned 1 exit status
$ cat testM.f90

测试来源:

PROGRAM TESTM
call minuit(5,6,7)
END PROGRAM TESTM

1 个答案:

答案 0 :(得分:0)

当链接到名为libfoo.a的库时,您需要将标志-lfoo传递给编译器,而不是-llibfoo。因此,在您的情况下,您应该使用-lminuit,而不是-libminuit