この質問は何度も尋ねられましたが、いくつかの回答がありますが、この問題はより具体的であり、追加のディレクトリパスが正しく設定されています(ファイルが見つかります)。
それでもプロジェクトをビルドすると、次のエラーが発生します。
fatal error C1083: Cannot open include file:
'opencv2/opencv.hpp': No such file or directory
ただし、ファイルを右クリックしてVisual Studio 2012で開くことはできますか?
私は試した:
1)フルパスを指定する:WORKS!
#include <D:\frameworks\opencv_2_4\build\include\opencv2\opencv.hpp>
2)ファイルをC:\に置くと動作しません! (追加。追加されたディレクトリ)
3)同じインクルード構文を持つ空のプロジェクト。 (追加。追加されたディレクトリ)。動く!
4)CMakeを使用して同じプロジェクトのVS2010バージョンを構成しましたが、同じ問題があります。
このエラーを引き起こしている可能性のあるヒントはありますか?
[構成プロパティ]> [C/C + +]> [全般]を開き、[追加のインクルードディレクトリ]フィールドを編集して、次の3つのパス(ヘッダー用)を追加します:C:\ OpenCV2.3\build\include\opencv C:\ OpenCV2.3\build\include\opencv2 C:\ OpenCV2.3\build\include
私の場合、問題はエクスポートされたクラスに関係していました。
2つのVSプロジェクトがあります。それらにAとBという名前を付けます。プロジェクトAはプロジェクトBのクラスを使用します。プロジェクトBはOpenCVのクラスを使用しています。プロジェクトAはOpenCVを使用していません(どちらのリンクも使用していません)。 (ご想像のとおり、プロジェクトAはプロジェクトB全体でopenCVを使用しています)。
しかし、Bのエクスポートされたクラス(Aによって使用される)のいずれかにタイプOpenCV(cv :: Matなど)のプライベートメンバーがあった場合、プロジェクトBでopenCVを正しくリンクしていましたが、エラーC1083が表示されました。
私の解決策は、プロジェクトBのエクスポートされたクラスの* .hppファイルのインクルードに注意することでした。
お役に立てれば幸いです。
プロジェクトプロパティ=> C/C++ =>一般=>追加のインクルードディレクトリ=> "openCVフォルダーからライブラリのアドレスを入力します。例:C:\ opencv\build\include以下の図に示すように
既存の回答に加えて。変えよう
<opencv2/core.hpp>
に
"opencv2/core.hpp".
私は64ビットウィンドウ10、Visual Studio Professional 2017で実行しているので、以下の手順に従って修正します。
プロジェクト>プロパティ->プラットフォームをx64に変更
プロジェクトプロパティ> C/C++->一般->追加のインクルードディレクトリ-> {DIR} {PATH}\opencv\opencv\build\include
プロジェクトプロパティ> C/C++->すべてのオプション->追加のインクルードディレクトリ-> {DIR} {PATH}\opencv\opencv\build\include
プロジェクトプロパティ>リンカ->入力->追加の依存関係->編集...->「opencv_world330d.lib」と入力-> OK-> OK
それは面白いですが、Opencv2フォルダーにOpencv2フォルダーがないためにVisual Studioが厳密なヘッダーファイルを見つけられないようです。つまり、ソースコードを読み取るときに
#include <opencv2/core/core.hpp>
インクルードディレクトリの場所に続いて
$(OPENCV_DIR)\ build\include\opencv2
彼はいくつかを見つけようとします
$(OPENCV_DIR)\ build\include\opencv2\opencv2\core\core.hpp
ベースディレクトリが一致していないからといって、彼が見つけることは決してありません。
この問題を解決するには、includeディレクティブからベースディレクトリ(opencv2)を削除します。
#include <core.hpp>
これが役に立てば幸い
ヘッダーをプロジェクト内に配置した場合。 @CalaveraLocoの答えとして。相対パスを使用してヘッダーにアクセスできます。
ただし、プロジェクト設定にプロジェクトフォルダパスを含めることをお勧めします。
Properties
を開きます。C/C++
_を選択しますGeneral
を選択しますAddition Include Directories
_に$(ProjectDir);
を追加しますプロジェクト>プロパティ->プラットフォームをx64に変更し、bin、lib、includeフォルダーを再度設定する必要があります。
この後、「ソリューションプラットフォーム」タブもx86からx64に変更する必要があります。
この後、OpenCVを使用できるようになります。