"Программа не может запускаться из-за ошибки 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."
.
Как я могу исправить эту проблему?
Спасибо
Ответы
Ответ 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, и она сработала.