繁体   English   中英

将OpenCV与fftw3 Visual Studio 2010一起使用时发生链接器错误

[英]Linker error using openCV with fftw3 Visual Studio 2010

我在尝试在同一项目中使用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>

任何帮助都感激不尽。

我弄清楚了,当我安装openCV时,我在openCV构建位置创建了一个环境变量,并将openCV DLL的位置添加到Path变量中。 我没有注意到的是,我将DLL的x86版本添加到Path变量中,并且我的项目设置为x64,它在另一个项目中起作用的原因是因为我将x64 DLL复制到了它自己的项目文件夹中。 在将路径编辑到正确的x64 DLL的位置后,所有工作均正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM