Подтвердить что ты не робот

"Программа не может запускаться из-за ошибки opencv_world300.dll с вашего компьютера" в С++

Я хочу скомпилировать opencv Console С++ в Visual Studio 2013. Это мой код:

#include "stdafx.h"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, const char** argv)
{
    Mat img = imread("rgb_1.png", CV_LOAD_IMAGE_UNCHANGED); //read the image data in the file "MyPic.JPG" and store it in 'img'

    if (img.empty()) //check whether the image is loaded or not
    {
        cout << "Error : Image cannot be loaded..!!" << endl;
        //system("pause"); //wait for a key press
        return -1;
    }

    namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); //create a window with the name "MyWindow"
    imshow("MyWindow", img); //display the image which is stored in the 'img' in the "MyWindow" window

    waitKey(0); //wait infinite time for a keypress

    destroyWindow("MyWindow"); //destroy the window with the name, "MyWindow"

    return 0;
}

Хотя я определил все каталоги в свойствах как в каталогах "Компьютер", так и в Visual Studio, я получаю ошибку "The program can't start because opencv_world300.dll is missing from your computer.".

Как я могу исправить эту проблему?

Спасибо

4b9b3361

Ответ 1

Под окнами вы можете скопировать его из:

<your install directory>\opencv30\build\x64\vc12\bin

И поставьте его в своем решении Visual Studio (я предполагаю, что вы используете конфигурацию x64/Release):

<your solution directory>\x64\Release

Или вы можете добавить вышеуказанный OpenCV к переменной среды PATH

Ответ 2

У меня была та же проблема.

Я на версии 320. После установки всех переменных окружения убедитесь, что ваши Additional Include Directories, Additional Library Directories и Additional Dependencies верны. Для меня они были $(OPENCV_BUILD)\include;, $(OPENCV_BUILD)\x64\vc14\lib; и opencv_world320d.lib; соответственно.

Моя переменная path OPENCV_BUILD C:\opencv320\build устанавливает переменную среды %OPENCV_BUILD%\x64\vc14\bin (где находятся файлы .dll). Чтобы перейти к Additional, щелкните правой кнопкой мыши проект/решение и выберите properties -> C/C++ для первого и properties -> Linker -> General и Input для двух других.

Перезапустить Visual Studio, и если все было правильно реализовано, вы должны иметь возможность запускать программу, и она должна начинаться.

Edit:

В зависимости от того, что вы использовали, мне пришлось также переключить мой с x86 на x64 в раскрывающемся списке Solution Platforms.

Ответ 3

Вы можете проверить системную переменную, чтобы подтвердить каталог, в котором находится opencv_world300.dll (возможно, C:\opencv\build\x64\vc12\bin).

Если он существует, но проблема все еще не решена, попробуйте поместить все .dll файлы в каталог в C:\WINDOWS\system32

Ответ 4

Если этот вопрос все еще имеет значение, я понял путь.

Я предполагаю, что вы использовали учебник на веб-сайте OpenCV для настройки OpenCV. После запуска командной строки и выполнения команды создается переменная среды для OpenCV, но она не добавляет ее в путь. Поэтому, если вы перейдете на путь и добавите местоположение bin в vc12 (vc14 для меня), сохраните его и перезапустите visual studio, он работает.

Ответ 5

У меня была точно такая же проблема с использованием версии 320. В моем случае мой "Comodo Internet Security" блокировал несколько вещей самого приложения и OpenCV. Обязательно поместите все их в "доверенный" список, щелкнув правой кнопкой мыши их в своем брандмауэре.

Ответ 6

Я знаю это старое сообщение, но я заметил, что у моей проблемы есть разница между lib и bin, поэтому я добавил и к переменной PATH, и она сработала.