使用pgcc编译FFTW,未定义引用

使用pgcc编译FFTW,未定义引用,c,fftw,pgi,pgcc,C,Fftw,Pgi,Pgcc,对于其他软件,我需要安装fftw-2.1.5和--启用mpi--启用类型前缀--enable float。应使用pgcc PGCC等安装在/home目录下。对于这篇文章,我用路径缩写为 我有: 我尝试使用-fPIC标志重新编译: make clean make CFLAGS="-fPIC" 澄清 制作CFLAGS=“-fPIC” 然后我得到: ../fftw/.libs/libsfftw.a(twiddle.o): In function `fftw_compute_twiddle': /hom

对于其他软件,我需要安装fftw-2.1.5和
--启用mpi--启用类型前缀--enable float
。应使用
pgcc

PGCC等安装在
/home
目录下。对于这篇文章,我用
路径缩写为

我有:

我尝试使用
-fPIC
标志重新编译:

make clean make CFLAGS="-fPIC" 澄清 制作CFLAGS=“-fPIC” 然后我得到:

../fftw/.libs/libsfftw.a(twiddle.o): In function `fftw_compute_twiddle': /home/daniel/fftw-test/fftw-2.1.5/fftw/./twiddle.c:92: undefined reference to `__fd_sincos_1' /home/daniel/fftw-test/fftw-2.1.5/fftw/./twiddle.c:126: undefined reference to `__fd_sincos_1' ../fftw/.libs/libsfftw.a(twiddle.o): In function `fftw_compute_rader_twiddle': /home/daniel/fftw-test/fftw-2.1.5/fftw/./twiddle.c:65: undefined reference to `__fd_sincos_1' collect2: error: ld returned 1 exit status ../fftw/.libs/libsfftw.a(twidle.o):在函数“fftw\u compute\u twidle”中: /home/daniel/fftw test/fftw-2.1.5/fftw//twidle.c:92:未定义对“fd\u sincos\u 1”的引用 /home/daniel/fftw test/fftw-2.1.5/fftw//twidle.c:126:未定义对“fd\u sincos\u 1”的引用 ../fftw/.libs/libsfftw.a(twidle.o):在函数“fftw\u compute\u rader\u twidle”中: /home/daniel/fftw test/fftw-2.1.5/fftw//twidle.c:65:未定义对“fd\u sincos\u 1”的引用 collect2:错误:ld返回了1个退出状态 我现在试图找到一个解决办法,解释为什么这会发生几个小时,但我想不出来

当我将其配置为使用gcc编译器(系统默认值)时,一切都能正常工作:

./configure --prefix=/fftw --enable-mpi --enable-type-prefix --enable-float make make install ./configure--prefix=/fftw--enable mpi--enable type prefix--enable float 制作 安装 编辑,更多信息:

  • 我需要fftw的程序需要pgcc。我想如果我能像一些论坛网站上推荐的那样用它来编译所有的东西,那将是最好的

  • 在twiddle.c中没有一个提到
    \ufd\uSincos\u1
    。例如,第92行只是 (i=0;i

  • 当我删除
    --enable type prefix
    时,没有任何变化。仍然是相同的错误


  • “它应该用pgcc编译”是吗?谁这么说的?而且在
    twidle.c
    中看到似乎使用那些“未定义符号”的代码也很有趣。突然:如果从pgCC命令行中删除
    --启用类型前缀
    ,会发生什么?感谢您的回复。我在文章末尾添加了一些信息。在未启用任何优化的情况下进行干净的重建,然后重新检查源引用链接器警告中的问题。 ../fftw/.libs/libsfftw.a(twiddle.o): In function `fftw_compute_twiddle': /home/daniel/fftw-test/fftw-2.1.5/fftw/./twiddle.c:92: undefined reference to `__fd_sincos_1' /home/daniel/fftw-test/fftw-2.1.5/fftw/./twiddle.c:126: undefined reference to `__fd_sincos_1' ../fftw/.libs/libsfftw.a(twiddle.o): In function `fftw_compute_rader_twiddle': /home/daniel/fftw-test/fftw-2.1.5/fftw/./twiddle.c:65: undefined reference to `__fd_sincos_1' collect2: error: ld returned 1 exit status ./configure --prefix=/fftw --enable-mpi --enable-type-prefix --enable-float make make install