让fftw.h在C中工作

让fftw.h在C中工作,c,compiler-errors,header-files,fftw,C,Compiler Errors,Header Files,Fftw,我从下载了fftw包,并按照说明运行了安装命令 ./configure make make install 当我尝试编译文件fastfoo.c时: #include <fftw.h> int main() { return 0; } 我试过了,但是,唉,没有用 我觉得这相当于不能烧开水的烹饪…理想情况下,使用pkg config设置所需的标志: $ find /usr/local -name fftw\*.pc /usr/local/lib/pkgconfig/fftw

我从下载了fftw包,并按照说明运行了安装命令

./configure
make
make install
当我尝试编译文件fastfoo.c时:

#include <fftw.h>

int main()
{
    return 0;
}
我试过了,但是,唉,没有用


我觉得这相当于不能烧开水的烹饪…

理想情况下,使用
pkg config
设置所需的标志:

$ find /usr/local -name fftw\*.pc
/usr/local/lib/pkgconfig/fftw3.pc
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ pkg-config --cflags --libs fftw3
-I/usr/local/include  -L/usr/local/lib -lfftw3  
$ export CFLAGS="`pkg-config --cflags --libs fftw3` $CFLAGS"
此时,您可能会发现
*.h
实际上不是您所写的:

$ find /usr/local -name fftw\*.h
/usr/local/include/fftw3.h
因此,
*.c
文件可能需要调整:

$ cat fff.c
#include <fftw3.h>

int main()
{
    return 0;
}
$ make fff
cc -I/usr/local/include  -L/usr/local/lib -lfftw3       fff.c   -o fff
$ ./fff
$ 
$cat fff.c
#包括
int main()
{
返回0;
}
$makefff
cc-I/usr/local/include-L/usr/local/lib-lfftw3 fff.c-o fff
美元/英尺
$ 

makeinstallput
fftw.h
放在哪里了?它是否在您的include路径中?不确定,当我运行
makeinstall
时,它似乎在抛出内容的路径是
/Applications/Xcode.app/Contents/Developer/usr/bin
。另外,在finder中搜索时,没有找到
fftw.h
文件。因此我在目录
Macintosh HD/usr/local/include
中找到了
fftw3.h
。这就是它应该出现的地方吗?假设您试图根据版本3进行构建,您应该使用
\include
(而不是
\include
)我在使用
\include
时会遇到相同的错误。
$ find /usr/local -name fftw\*.h
/usr/local/include/fftw3.h
$ cat fff.c
#include <fftw3.h>

int main()
{
    return 0;
}
$ make fff
cc -I/usr/local/include  -L/usr/local/lib -lfftw3       fff.c   -o fff
$ ./fff
$