Fortran和FFTW3

时间:2017-06-19 08:58:36

标签: fortran fftw

我正在学习如何从fortran调用fftw。我的测试程序如下:

gfortran -I/usr/include  -o example1  example1.f90     or
gfortran -I/usr/include -L/usr/lib/x86_64-linux-gnu -o example1 example1.f90

第一个混乱是因为fftw网站建议所有fftw调用都应以字母d开头,如'dfftw_plan_dft_1d'。但是fftw3.f03(位于/ usr / include)中的函数/子例程都没有d前缀。当我尝试使用

编译/链接时
example1.f90:(.text+0xf3): undefined reference to `fftw_plan_dft_1d'
example1.f90:(.text+0x114): undefined reference to `fftw_execute_dft'
example1.f90:(.text+0x1cc): undefined reference to `fftw_destroy_plan'

链接器抛出错误:

interface IDevice 
{
    void Connect(DeviceAdderss address);
    void Disconnect();
}

public abstract DeviceBase : IDevice
{
    // IDevice implementation plus other stuff
}

public DeviceA : DeviceBase
{
    // Some device A specific stuff
}

public DeviceB : DeviceBase
{
    // Some device B specific stuff 
}

即使这些库位于/ usr / lib / x86_64-linux-gnu中。另外一点是我想学习如何在不使用(kind = 8)修饰符的情况下声明双精度复杂变量。我的编译器(gfortran)不知道double complex。

0 个答案:

没有答案