質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
include

あるファイルで定義された関数や処理を、別のファイル上でも使用できるようにするプロセスをincludeと呼びます。

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Q&A

解決済

1回答

18930閲覧

opencv2/opencv.hppがincludeできない

take.ayst

総合スコア5

include

あるファイルで定義された関数や処理を、別のファイル上でも使用できるようにするプロセスをincludeと呼びます。

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

0グッド

0クリップ

投稿2020/01/22 07:57

編集2020/01/22 08:01

<opencv2.opencv.hpp>がincludeできない

VisualStudioCommunity2017でOpenCV4.2.0をインストールして、新規のソリューションのソースファイルに以下のソースコードを追加してビルドしてみたところ、<opencv2.opencv.hpp>がincludeできていない旨のエラーが出ました。エラーメッセージは他にも出ておりますが、おそらくincludeできていないことに由来するものだと考えられます。

該当のソースコード

cpp

1#include <opencv2/opencv.hpp> 2#include <iostream> 3 4using namespace cv; 5 6int main() 7{ 8 Mat image = Mat::zeros(100, 100, CV_8UC3); 9 imshow("", image); 10 waitKey(0); 11}

エラーメッセージ

エラー C1083 include ファイルを開けません。'opencv2/opencv.hpp':No such file or directory Project4 c:\users\syslab\desktop\kawanaka\m1\vc++\project4\project4\project4.cpp 1

試したこと

主に以下のサイトをご参考に、環境変数Pathの追加、VisualStudioでのインクルードディレクトリの追加、ライブラリディレクトリの追加、リンカーの設定を行いました。
https://qiita.com/wakaba130/items/705cbc3cdfb48474cd4d
https://reiji1020.gitbooks.io/play-opencv/content/usevs.html
https://qiita.com/h-adachi/items/aad3401b8900438b2acd

私はopencvフォルダをCドライブ直下に作成し、ビルドはソリューション構成をDebug、ソリューションプラットフォームがをx64としたので、

環境変数Path→C:\opencv\build\x64\vc15\bin
インクルードディレクトリ→C:\opencv\build\include
ライブラリディレクトリ→C:\opencv\build\x64\vc15\lib
リンカーの追加の依存ファイル→opencv_world420d.lib

としました。
同じような質問がありそちらも拝見し設定を見直しましたが、いずれも解決に至りませんでした。
どうかご助力お願い致します。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まずはその、opencv.hppファイルはどこにあるか探してみよう

投稿2020/01/22 08:05

y_waiwai

総合スコア88024

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

take.ayst

2020/01/22 08:09

早速のご回答ありがとうございます。 確認しましたところ、 C:\opencv\build\include\opencv2 にopencv.hppがありました。 インクルードディレクトリを C:\opencv\build\include と設定したので、ソースコードを上記のようにしました。
y_waiwai

2020/01/22 08:14

インクルードディレクトリがあってるならそういうエラーが出るはずもないです。 そこらへんも一度確認してみよう
take.ayst

2020/01/22 08:21

ご指摘ありがとうございます。 ソリューションのプロパティで、 構成プロパティ,C/C++,全般,追加のインクルードディレクトリが C:¥opencv¥build¥include となっていることを確認しました。 なお、構成→アクティブ(Debug)、プラットフォーム→アクティブ(x64)となっています。
y_waiwai

2020/01/22 08:24 編集

いちど、 C:¥opencv¥build¥include に、テキトーな名前のナカミが空のヘッダフィルをおいて、ソースからインクルードできるかどうかを確認してみましょう。 で、その次は C:¥opencv¥build¥include\opencv2 にそのヘッダをおいてインクルードできるかを確認してみます。
take.ayst

2020/01/22 08:33

ヘッダファイルの作り方が分からなかったので、opencv.cppと同じディレクトリにあったphoto.cppの名前をtest.cppと書き替えて、 C:¥opencv¥build¥include に入れて、ソースの先頭に#include <test.cpp>を追加してビルドしたところ、やはりインクルードできませんでした。 test.cppを C:¥opencv¥build¥include\opencv2 に移して、#include <opencv2/test.cpp> としても同様にインクルードできませんでした、、
y_waiwai

2020/01/22 08:38 編集

そのインクルードディレクトリの設定をやり直してみるとか。 全角文字混じってたとか、見えない不正文字入ってたというのはアルアルですが。。
take.ayst

2020/01/22 08:53

ソリューションのプロパティページで 構成プロパティ,VC++ディレクトリ,インクルードディレクトリを C:¥opencv¥build¥include;%(IncludePath); としたり、C/C++の追加のインクルードディレクトリを打ち直し、 C:¥opencv¥build¥include;%(AdditionalIncludeDirectories); としましたが、やはりエラーが出ました、、 上の2つの()内は元々入っていた値で、追加すると後に続くもののようです。 お伺いしたいのですが、Pathの設定はユーザー環境変数に追加するので間違いないでしょうか?システム環境変数もあり迷ったのですが、以前別の言語のPathをユーザー環境変数に作っていたため、今回はそれに追加する形で設定しました。直接の解決とは関係ないかもしれませんが、ご回答よろしくお願いします。
y_waiwai

2020/01/22 09:07

メインメニューのプロジェクト>プロパティ>C/C++>全般の、追加のインクルードディレクトリ、で設定します。 全角文字がはいってないか、特に¥の文字は同じ文字形で別文字があったりするので注意してください。 いちど全部消して、改めて打ち直すなどしてみましょう
fana

2020/01/22 09:13

もしも追加のインクルードディレクトリを手打ちしているなら,右側の[v]マークから「編集」を選択して,そこから設定してみてはどうでしょうか.
take.ayst

2020/01/22 09:30

ご指摘ありがとうございます。 初めに設定したときはどれも手打ちではなくフォルダを参照して追加しました。消して打ち直してもうまくいきませんでした、、 VisualStudioもOpenCVもインストールしなおしてみます。 ご助力ありがとうございました。
fana

2020/01/22 09:55

謎ですね. プロパティを設定している「構成」と「プラットフォーム」の組(プロパティ設定ダイアログの一番上)が,実際にビルドしているときのそれと異なっているとか…?
y_waiwai

2020/01/22 10:07

区切りのセミコロンが全角だったとか
take.ayst

2020/01/22 10:12

実際にビルドしているときの組が確認できたらと思い色々と見てみましたが、私では見つけられず、、 その後プロパティシートの作成とインポートというのをあるサイトで見つけました。VSとOpenCVのインストールをし直しているのでもう試せませんが、正しく設定して都度インポートすれば上手くいくのでは、、と。 コメントありがとうございます。
fana

2020/01/22 10:53

> 実際にビルドしているときの組 VSのツールバーに「Debug」とか「x64」とかいうコンボボックスがありませんか.
take.ayst

2020/01/23 05:32 編集

そのコンボボックスでソリューション構成とソリューションプラットフォームをそれぞれDebug、x64に設定していました、、 一晩明け、下記サイトを参考にVisualStudio2019とOpenCVを入れ直したところビルドが通りました! https://qiita.com/koteko/items/60936f34f21d7decf0b5 ご協力を頂いたのにも関わらず解決をあきらめる形になり、大変失礼致しました。これからもどうかよろしくお願い致します。
退会済みユーザー

退会済みユーザー

2021/02/07 10:17 編集

誤投稿です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問