Я пытаюсь скомпилировать очень простую программу OpenCV (2.4.9) в Visual Studio 2010, чтобы проверить, правильно ли связаны библиотеки 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> ССЫЛКА: фатальная ошибка LNK1104: невозможно открыть файл opencv_gpu249.lib

В чем может быть проблема? Как это решить?

enter image description here

0
bytestorm 16 Авг 2014 в 16:29
1
Как эта библиотека попала в настройки компоновщика? (предварительно созданные библиотеки opencv не имеют поддержки графического процессора)
 – 
berak
16 Авг 2014 в 16:42
Какие файлы lib мне добавить в настройки компоновщика ...
 – 
bytestorm
16 Авг 2014 в 16:44
2
Opencv_core249.lib opencv_highgui249.lib
 – 
berak
16 Авг 2014 в 16:45
Теперь я получаю эту ошибку ... 1>opencv_highgui249.lib(opencv_highgui249.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' Я использую 64-битную версию
 – 
bytestorm
16 Авг 2014 в 16:48
3
Проблема в том, что вы используете папки x64, но строите для Win32. В поле со списком рядом с полем со списком «Отладка» указано Win32, а не x64.
 – 
drescherjm
16 Авг 2014 в 16:58

1 ответ

Лучший ответ

Вам необходимо добавить путь к библиотеке OpenCV в каталоги библиотек Visual Studio:

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

Или для 64 бит

OpenCV-2.4.9-Path\build\x64\vc10\lib
1
herohuyongtao 16 Авг 2014 в 16:34