如何修复VS 2010中的致命错误LNK1112和LNK1120

时间:2014-02-18 13:44:30

标签: c++ visual-studio-2010 opencv fatal-error

我开始在VS 2010中使用OpenCV 2.3,因此有很多我不知道的事情。 我按照此处的指南安装了OpenCV:http://siddhantahuja.wordpress.com/2011/07/18/getting-started-with-opencv-2-3-in-microsoft-visual-studio-2010-in-windows-7-64-bit/

但我无法在步骤4中选择“创建新项目平台”来创建项目。 当我插入代码时,我遇到了很多问题。

1> opencv_highgui230d.lib(opencv_highgui230d.dll):致命错误LNK1112:模块机器类型'x64'与目标机器类型'X86'冲突

如果我删除waitKey(),我会遇到错误:

1> C:\ Users \ Gia Linh \ Documents \ Visual Studio 2010 \ Projects \ Testopencv \ Debug \ Testopencv.exe:致命错误LNK1120:6个未解析的外部

我不知道如何修复它。请帮我。非常感谢你!

#include "stdafx.h"
#include<stdio.h>
#include "cv.h"
#include "highgui.h"
using namespace cv;

int _tmain(int argc, _TCHAR* argv[])
{
    char* imagename = "lena.jpg";
    Mat img = imread(imagename);
    if(img.empty()){
    fprintf(stderr,"can't load image %s\n",imagename); 
        return -1;
    }
    if(!img.data) 
        return -1;
    namedWindow("show an image",CV_WINDOW_AUTOSIZE);
    imshow("show an img",img);
    waitKey();
    return 0;
}

1 个答案:

答案 0 :(得分:0)

似乎您链接到x64 dll和lib的opencv并尝试在Visual Studio的x86配置下运行它! 尝试将另一个环境变量路径添加到“opencvDIR / build / x86 / vc10 / bin”并检查以下所有路径: (我假设您正在尝试运行x86项目)

项目属性&gt;配置属性&gt;链接器&gt;一般&GT;其他图书馆馆藏: 应该是这样的:opencvDIR \ build \ x86 \ vc10 \ lib。

项目属性&gt;配置属性&gt;链接器&gt;输入&GT;附加依赖项: 应该包含适当的lib文件名,如果你处于调试模式,它们应该在文件名的末尾有一个“d”(代表调试),如果你处于发布模式则没有它。

我还建议为opencv创建一个属性表,而不是在项目设置中链接!