linux无root权限下安装fftw库,无法链接到fftw3库

我正在编译测试程序来测试fftw3(ver3.3.4).由于它没有安装root previlidge,我使用的命令是:

gcc -lm -L/home/my_name/opt/fftw-3.3.4/lib/ -I/home/my_name/opt/fftw-3.3.4/include/ fftwtest.c

安装库的位置

/home/my_name/opt/fftw-3.3.4/

我的代码是fftw3网站上的第一个教程:

#include

#include

int main(){

int n = 10;

fftw_complex *in, *out;

fftw_plan p;

in = (fftw_complex*) fftw_malloc(n*sizeof(fftw_complex));

out = (fftw_complex*) fftw_malloc(n*sizeof(fftw_complex));

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);

return 0;

}

当我编译程序时它会返回以下错误:

/tmp/ccFsDL1n.o: In function `main':

fftwtest.c:(.text+0x1d): undefined reference to `fftw_malloc'

fftwtest.c:(.text+0x32): undefined reference to `fftw_malloc'

fftwtest.c:(.text+0x56): undefined reference to `fftw_plan_dft_1d'

fftwtest.c:(.text+0x66): undefined reference to `fftw_execute'

fftwtest.c:(.text+0x72): undefined reference to `fftw_destroy_plan'

fftwtest.c:(.text+0x7e): undefined reference to `fftw_free'

fftwtest.c:(.text+0x8a): undefined reference to `fftw_free'

collect2: ld returned 1 exit status

快速搜索意味着我没有正确链接到库,但有趣的是它并没有抱怨fftw_plan和fftw_complex的声明.实际上,如果我删除所有以"fftw_"开头的函数,只保留声明,它将通过编译.

那我哪里出错了?链接是否正确?任何建议将不胜感激.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值