我在尝试在同一个项目中使用 openCV 实现 fftw3 时遇到了麻烦。我是 c/c++ 的新手,任何帮助都将不胜感激。以下只是我使用的示例代码:
#include "fftw3.h"
#include <stdlib.h>
int main(){
fftw_complex *in, *out;
fftw_plan p;
int N=8;
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);
for(int i=0; i<N; i++){
in[i][0]=i;
in[i][1]=0;
}
fftw_execute(p);
for(int i=0; i<N; i++){
printf("R->%f\tI->%f\n", out[i][0], out[i][1]);
}
system("pause");
fftw_destroy_plan(p);
fftw_free(in); fftw_free(out);
}
该代码在其自己的项目中编译良好。但是当我试图将 fftw3 和 openCV 链接在一起时,我得到一个链接器错误:
1>video.obj : error LNK2001: unresolved external symbol _fftw_destroy_plan
1>video.obj : error LNK2001: unresolved external symbol _fftw_execute
1>video.obj : error LNK2001: unresolved external symbol _fftw_plan_dft_2d
1>video.obj : error LNK2001: unresolved external symbol _fftw_malloc
1>video.obj : error LNK2001: unresolved external symbol _fftw_free
1>D:\C WorkSpace\Viedo_CV\Video test\Release\Video test.exe : fatal error LNK1120: 5 unresolved externals
1>
1>Build FAILED.
我仔细检查了所有链接器配置,它们似乎都很好(正如我所说的,在单独的项目中一切都运行良好)。openCV 库工作正常。不幸的是,我无法发布我的真实代码。我使用的所有openCV都在:
#include <opencv\\cv.h>
#include <opencv\\highgui.h>
#include <windows.h>
任何帮助都感激不尽。