OpenCV 程序无法在 Visual Studio 2010 上编译

Posted

技术标签:

【中文标题】OpenCV 程序无法在 Visual Studio 2010 上编译【英文标题】:OpenCV program wouldn't compile on Visual Studio 2010 【发布时间】:2014-08-16 12:29:23 【问题描述】:

我正在尝试在 Visual Studio 2010 中编译一个非常简单的 OpenCV (2.4.9) 程序,只是为了检查 opencv 库是否已正确链接。这是我要运行的程序代码。

#include "stdafx.h"
#include <stdio.h>
#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, char** argv )

    Mat image;
    image = imread( "MyPic.jpg", 1 );

    if ( !image.data )
    
        printf("No image data \n");
        return -1;
    
    namedWindow("Display Image", CV_WINDOW_AUTOSIZE );
    imshow("Display Image", image);

    waitKey(0);

    return 0;

但是当我按下构建按钮时,编译失败并显示以下错误。

1>LINK : 致命错误 LNK1104: 无法打开文件 'opencv_gpu249.lib'

问题可能是什么?如何解决?

【问题讨论】:

该库是如何进入您的链接器设置的? (预构建的 opencv 库不支持 gpu) 我应该将哪些库文件添加到链接器设置中... opencv_core249.lib opencv_highgui249.lib 现在我收到此错误...1&gt;opencv_highgui249.lib(opencv_highgui249.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'我使用的是 64 位 问题是您使用的是 x64 文件夹,但为 Win32 构建。 Debug 组合框旁边的组合框读取 Win32 而不是 x64。 【参考方案1】:

您需要将 OpenCV 库路径添加到 Visual Studio 的库目录

OpenCV-2.4.9-Path\build\x86\vc10\lib

或 64 位

OpenCV-2.4.9-Path\build\x64\vc10\lib

【讨论】:

以上是关于OpenCV 程序无法在 Visual Studio 2010 上编译的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 程序无法启动,因为 Visual Studio 2010 中缺少 MSVCP110D.dll

缺少使用 viola opencv core2410d.dll 的 Opencv 人脸检测

无法找到:“CL.exe”,Opencv与Visual Studio c ++ 2010快速程序错误

VS(Visual Studio 2012)编译生成OpenCV-64位程序时提示:无法打开包括文件:“opencv2/core/core.hpp”

opencv 和 Visual Studio 2010 无法从子目录加载图像

在 Visual Studio 2017 上无法使用调试模式 x64 进行 opencv3.2 编译