web-dev-qa-db-ja.com

「opencv_world300.dllがコンピューターにないため、プログラムを開始できません」C ++のエラー

Visual Studio 2013でopencvコンソールC++プログラムをコンパイルします。これは私のコードです。

#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;
}

ComputerとVisual Studioの両方のディレクトリのプロパティですべてのディレクトリを定義しましたが、"The program can't start because opencv_world300.dll is missing from your computer."エラー。

この問題を修正するにはどうすればよいですか?

ありがとう

18
yusuf

Windowsでは、次からコピーできます。

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

そして、それをあなたのVisual Studioソリューションに入れます(あなたはx64/Release構成を使用していると思います):

<your solution directory>\x64\Release

または、上記のOpenCVをPATH環境変数に追加できます

18
RevJohn

同じ問題がありました。

バージョン_320_を使用しています。すべての環境変数を設定したら、_Additional Include Directories_、_Additional Library Directories_、および_Additional Dependencies_がすべて正しいことを確認してください。私にとっては、それぞれ$(OPENCV_BUILD)\include;$(OPENCV_BUILD)\x64\vc14\lib;、_opencv_world320d.lib;_でした。

_OPENCV_BUILD_パス変数は、環境変数を_C:\opencv320\build_に設定する_%OPENCV_BUILD%\x64\vc14\bin_ (。dllファイルが置かれている場所)です。 Additionalを取得するには、プロジェクト/ソリューションを右クリックして、最初に_properties -> C/C++_を選択し、他の2つに_properties -> Linker -> General_とInputを選択します。

Visual Studioを再起動そして、すべてが正しく実装されていれば、プログラムを実行でき、起動するはずです。

編集:

あなたが使用したものに応じて、_x86_ドロップダウンで_x64_から_Solution Platforms_に切り替える必要がありました。

10
luckyging3r

システム変数を確認して、opencv_world300.dllが見つかりました(おそらくC:\opencv\build\x64\vc12\bin)が存在します。

存在するが、それでも問題が解決しない場合は、すべての.dllディレクトリへのファイルC:\WINDOWS\system32

7
Fish Chang

この質問がまだ関連する場合、私は方法を見つけました。

OpenCV Webサイトのチュートリアルを使用してOpenCVをセットアップしたと思います。コマンドプロンプトを実行してコマンドを実行すると、OpenCVの環境変数が作成されますが、パスには追加されません。そのため、パスに移動してvc12(私の場合はvc14)にビンの場所を追加し、保存してからVisual Studioを再起動すると機能します。

4
Abhiroop Tandon

私はこれを古い投稿を知っていますが、私のものにlibbinを区別する問題があることに気づいたので、両方をPATH変数に追加し、それが機能しました。

2
Tommy Mertell

みんなが言うようにパスを追加し、Visual Studioを再起動することを忘れないでください。すべてのパスを追加し、すべてのopencv_world.dllをソースファイルと同じフォルダーにコピーしようとしても、すべてのパスを追加した後にVisual Studioを再起動するだけでした。

1
Cristi.Fatu

これらの手順 に従ってVS 2017で使用するためにOpenCVバージョン3.4.1をインストールした後、Visual Studioはopencv_world341d.dllがないことについて不満を言いました。 C:\opencv\build\x64\vc15\binをWindowsのPATHに追加しましたが、PATHを変更したときにVSが既に開いていたため、Visual Studioはそれを見つけることができませんでした。 Visual Studioを再起動すると、問題が修正されました。

1
Andrew H

バージョン320を使用してもまったく同じ問題が発生しました。私の場合、「Comodo Internet Security」は、アプリケーション自体とOpenCVのいくつかのものをブロックしていました。ファイアウォールでそれらを右クリックして、すべてを「信頼済み」リストに追加してください。

1
Acimaz