2024-06-17 07:56:40 发布
网友
我有一个fortran文件,里面有很多有用的子程序,我想用f2py为它制作一个Python接口。在
这个问题的出现是因为一些fortran子程序从NAG库(名为c06ebf)调用FFT子例程。当导入到Python中时,它会生成“undefined symbol:co6ebf”警告。在
有没有其他方法可以在Fortran子例程中执行FFT,并能够使用f2py从中创建Python接口?在
这个问题的解决方法如下:
调用商业FFT库的所有实例都将被对free FFT library(在本例中为FFTW3)的调用所取代。当然,“include”fftw3.f“在必要时会放在fortran子例程的顶部。
扩展模块是用f2py创建的。第一行创建签名文件,第二行编译扩展模块。请注意,我们在这个过程中链接了外部库-之前没有这样做,这导致了所述的问题。在
f2py -m splib -h splib.fpy splib.f f2py -c splib splib.f -lfftw3
这个问题的解决方法如下:
调用商业FFT库的所有实例都将被对free FFT library(在本例中为FFTW3)的调用所取代。当然,“include”fftw3.f“在必要时会放在fortran子例程的顶部。
扩展模块是用f2py创建的。第一行创建签名文件,第二行编译扩展模块。请注意,我们在这个过程中链接了外部库-之前没有这样做,这导致了所述的问题。在
相关问题 更多 >
编程相关推荐