我有一个包含很多有用子程序的fortran文件,我想使用f2py为它创建一个Python接口。
问题出现是因为一些fortran子程序从NAG库(名为c06ebf)调用FFT子程序。导入到Python时,它会生成'undefined symbol:co6ebf'警告。
还有其他方法可以在我的Fortran子程序中执行FFT并能够使用f2py从它创建Python接口吗?
答案 0 :(得分:0)
此问题以下列方式解决:
所有调用商业FFT库的实例都被调用自由FFT库(在本例中为FFTW3)所取代。当然,'include'fftw3.f“'必要时放在fortran子程序的顶部。
使用f2py创建扩展模块。第一行创建签名文件,第二行编译扩展模块。请注意,我们在此过程中链接了外部库 - 以前没有这样做,这导致了陈述的问题。
f2py -m splib -h splib.fpy splib.f
f2py -c splib splib.f -lfftw3