gpt4 book ai didi

c - C 中的 FFTW3 链接

转载 作者:行者123 更新时间:2023-11-30 14:49:56 27 4
gpt4 key购买 nike

我无法链接 fftw3 库(Mac OS X Yosemite 10.10.5 上的最新版本)。我有来自 developers 的示例代码这里:

#include <stdio.h>
#include <stdlib.h>
#include </usr/local/include/fftw3.h>


int main()
{
int N;

fftw_complex *in, *out;
fftw_plan p;


in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);


fftw_execute(p); /* repeat as needed */


fftw_destroy_plan(p);
fftw_free(in); fftw_free(out);
}

我不认为它有意义。此时我只是为了编译。

1)我已按照手册进行操作并尝试过:

gcc -lm -lfftw3 FFT.c -o FFT

gcc FFT.c -I$/usr/local/include/-L$/usr/local/include/-lfftw3 -lm -o FFT

以及许多其他变体。

2)当我打开/usr/local/include/时,我并没有真正看到libfftw3文件,但是,我在/Applications/fftw-3.3.7中有libfftw3.la。因此,我也尝试过

gcc FFT.c -I$/Applications/fftw-3.3.7。 -L$/应用程序/fftw-3.3.7。 -lfftw3 -lm -o FFT

3)我尝试将 libfftw3.la 复制到/usr/local/include/并再次将选项 (1) 传递到终端...

都是同样的错误:

ld: warning: directory not found for option '-L$/Applications/fftw-3.3.7.'
ld: library not found for -lfftw3
clang: error: linker command failed with exit code 1 (use -v to see invocation)

请帮忙!不知道再去哪里看。该手册对我来说水平非常高,似乎没有广泛/完整地涵盖这些问题。

最佳答案

这个问题听起来像是您没有正确安装fftw3软件。您的评论建议您从源代码构建:

./configure
make
make install

前两个命令没问题。问题是make installmake install 与其他两个命令不同,必须以 root 权限运行才能获得对其所需目录的写访问权限。你应该做的是:

./configure
make
sudo make install

输入帐户密码后,这会将 make install 提升为 root 权限。

默认情况下,大多数配置脚本将库和包含文件放置在 /usr/local 下。通常包含在 /usr/local/include 中,库在 /usr/local/lib 中。要编译,您应该能够使用 -I 指定包含并使用 -L 指定库,如下所示:

gcc FFT.c -I/usr/local/include -L/usr/local/lib -lfftw3 -lm -o FFT

关于c - C 中的 FFTW3 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49288163/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com