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

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

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

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

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

1312閲覧

OpenCVをインクルードするとライブラリがコンパイルエラーになる治していいのか?

退会済みユーザー

退会済みユーザー

総合スコア0

OpenCV

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

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/04/29 05:37

編集2021/04/29 12:06

提示画像なのですがライブラリはインクルード出来ているはずなのですが何故かコンパイルをかけるとライブラリの中のコードがコンパイルエラーにります。ソースファイルが開けませんということはパスを修正すればコンパイルは通ると思いますがOpenCVはちゃんとしたライブラリなのでライブラリ内を書き換えるなんてことは普通してはいけないと思うのでこの場合どうすればいいのでしょうか?

イメージ説明
イメージ説明
イメージ説明
イメージ説明
イメージ説明

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/04/29 14:16 編集

そもそもですが、なんでこのような一般的でない方法で導入しようとしているのでしょうか。 この特殊な導入方法に合わせてライブラリの修正を行う、ということの是非についての質問なんでしょうか。 導入方法など簡単に調べてみても、以下参考のように「include」ディレクトリ自体を指定する形で行っているものばかりでした。 ・参考その1 https://towardsdatascience.com/install-and-configure-opencv-4-2-0-in-windows-10-vc-d132c52063a1 ・参考その2 https://qiita.com/koteko/items/60936f34f21d7decf0b5 ・参考その3 https://medium.com/@subwaymatch/opencv-410-with-vs-2019-3d0bc0c81d96 episteme さんの回答に対するコメントに、「正しく設定」とありますが、 何をもって「正しく設定」したといっているのでしょうか。 私の認識としては、 ・参考からずれているので、比較した場合は「正しくない設定」です。 ・期待する動作が行えてないため、その意味でも「正しくない設定」です。
guest

回答2

0

ベストアンサー

追加のディレクトリ には C:\OpenCV\include
コード内では #include <opencv2/opencv.hpp>

が正解じゃないかなー...

投稿2021/04/29 06:01

episteme

総合スコア16614

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

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

退会済みユーザー

退会済みユーザー

2021/04/29 12:02 編集

ちょっと質問内容に提示画像が不足していたので追加しました。その情報を踏まえてどうしてこいう現象が起きるのか教えてくれますでしょうか?
episteme

2021/04/29 12:11 編集

5枚目(最後)の screen-shot (48行目) で気付いてほしい。わからんわけがないんですが。
退会済みユーザー

退会済みユーザー

2021/04/29 12:13

それが原因なのはわかるのですがなぜライブラリを編集するという事態になるのか知りたいです。結構しっかりしているライブラリですよねOpenCVって。自分のインクルード方法が悪いのでしょうか?
episteme

2021/04/29 12:15

> 自分のインクルード方法が悪いのでしょうか? YES. そうでなかったらこの回答にベストアンサーが付くわけがない。
退会済みユーザー

退会済みユーザー

2021/04/29 12:16

だからライブラリファイルの修正が必要ということでしょうか?
episteme

2021/04/29 12:18 編集

なんで? include-path を正しく設定したら(ライブラリの修正なしに)問題は解決したんでしょ?
退会済みユーザー

退会済みユーザー

2021/04/29 12:18

opencv.hppのパスは正しいのですがそれにインクルードしているヘッダーファイルの中のインクルードでエラーになるのですがこれは何が悪いのでしょうか?
episteme

2021/04/29 12:21 編集

> これは何が悪いのでしょうか? include-path を正しく設定しなかったからじゃない? include-path を正しく設定したら(ライブラリの修正なしに)問題は解決したんでしょ? (二回目)
退会済みユーザー

退会済みユーザー

2021/04/29 12:22

正しく設定いるはずです。opencv.hppのパスは通っていますwしかしその.hppの中で問題が起きているようなのですがこれは何が悪いのでしょうか?ライブラリを編集するにはおかしくてなりません。
episteme

2021/04/29 12:24

> 正しく設定いるはずです。 であるなら、そんなエラーは出ません。 5枚目(最後)の screen-shot (48行目) で気付いてほしい。わからんわけがないんですが。(二回目)
退会済みユーザー

退会済みユーザー

2021/04/29 12:30 編集

#include "opencv2/opencv.hpp" とすることで解決しました。
episteme

2021/04/29 12:30

> 一つ手前のディレクトリに移動させましたが 何を/どうしたんですか? てか、解決したんじゃないんですか? 追加のディレクトリ には C:\OpenCV\include コード内では #include <opencv2/opencv.hpp> ではダメだったのですか? だったらなぜベストアンサー付けたんですか?
退会済みユーザー

退会済みユーザー

2021/04/29 12:32

すいませんでした。
episteme

2021/04/29 12:32

> #include "opencv2/opencv.hpp" > とすることで解決しました。 ハナっからそう回答してます。 なぜ何度も後追いの質問を繰り返すんです?
episteme

2021/04/29 12:34

> すいませんでした。 なにに謝っているんですか? 検証/確認してもいないのにベストアンサー付けたことに、ですか?
guest

0

ライブラリ内を書き換えるなんてことは普通してはいけないと思うのでこの場合どうすればいいのでしょうか?

エラーの原因がわかっており、その書き換えの影響を把握できていて、
ライセンス上も問題がないのであれば書き換えていいと思います。

ただ、画像にあるエラーの原因は、インクルードパスの指定が間違っていることです。

投稿2021/04/29 05:46

編集2021/04/29 05:51
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問