繁体   English   中英

使用f2py链接库

[英]Linking Libraries using f2py

我有一个使用一些库文件的fortran程序。 我试图将它们与正在创建的模块文件链接起来。

我试图链接的库文件叫做ulib.a ,位于/home/replace/lib/

我使用的命令是:

f2py -L/home/replace/lib/ -lulib.a -c main.f -m progs

我收到以下错误:

/usr/bin/ld: cannot find -lulib.a
collect2: ld returned 1 exit status
/usr/bin/ld: cannot find -lulib.a
collect2: ld returned 1 exit status

我将不胜感激任何帮助!

尝试不使用.a - 我有理由确定链接器已经知道库是.a所以在你的例子中它将寻找ulib.aa并失败。

我不得不从库名中删除扩展名,并提供完整路径。 出于某种原因,使用-L参数提供路径不起作用。

f2py -l/home/replace/lib/ulib -c main.f -m progs

该库应具有全名libxxx.a ,其中xxx是给定名称。 然后做

f2py -L. -lxxx -c main.f90 -m progs

请注意,只有xxx位于-l之后。 如果您自己创建库,请记住包含-fPIC 例如,它可能如下所示:

gfortran -c -fPIC source1.f90 source2.f90
ar crs libxxx.a obj1.o obj2.o
f2py -L. -lxxx -c main.f90 -m progs

在此示例中找到了指导: https//modelingguru.nasa.gov/docs/DOC-2343

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM