1

每当我尝试使用 FFTW3 实现编译 C++ 程序时,我都会遇到非常奇怪的错误。

我正在编译如下

g++ -O3 -lm -lfftw3 myFile.cpp -o myFileFFTW

我还包括我的头文件如下

#include <math.h> #include "fftw3.h"

错误如下

(.text+0x63): 未定义的对 `fftw_malloc' 的引用

有什么建议么?

编辑:

hmjd 的建议对我有用。 针对 glib 编译时出现链接器错误...?

我想一个人不应该连续工作 3 天,否则头脑不起作用!特别感谢hmjd!!你拯救了我的一天,我可以按时完成我的项目!

4

1 回答 1

0

我猜问题是您的系统上不存在 -lfftw3 并且您也没有正确指定库。

编译器命令末尾的库:

gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include re.c -o re -lglib-2.0

从 GCC 链接选项:

-llibrary -l library 链接时搜索名为 library 的库。(将库作为单独参数的第二种选择仅用于 POSIX 合规性,不推荐。)

It makes a difference where in the command you write this option;
the linker searches and processes libraries and object files in the
order they are specified.
Thus, `foo.o -lz bar.o' searches library `z' after file foo.o but
before bar.o. If bar.o refers to functions in `z', those functions
may not be loaded.

针对 glib 编译时出现链接器错误的片段...?

于 2013-02-26T14:52:28.190 回答