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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Visual Studio

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

OpenCV

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

Q&A

解決済

2回答

11075閲覧

OpenCV-3.1.0のVisual Studio2015での環境構築の際に、"cannnot open file 'opencv_core310d.lib'"とエラーが出る

sirona_091

総合スコア13

Visual Studio

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

OpenCV

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

0グッド

0クリップ

投稿2016/06/20 11:41

編集2016/06/21 07:26

###発生している問題・エラーメッセージ

OpenCV-3.1.0をVisual Studio2015で使いたいと思い、
初めてのOpenCV開発
↑こちらのサイト様を見ながら環境構築をしていました。
上記サイト様の、2.1~2.5.3までを行い、coreとhighguiモジュールの設定がきちんと行われているか
確認するためにビルドを行うと、

"cannnot open file 'opencv_core310d.lib'"

というエラーが出てしまいました。

###該当のソースコード
上記サイトの一番下にあるコードを試しました。

#include <opencv2/core.hpp> // coreモジュールのヘッダーをインクルード #include <opencv2/highgui.hpp> // highguiモジュールのヘッダーをインクルード #include <iostream> int main(int argc, const char* argv[]) { // 1幅320px、高さ240pxで赤色の画像データを生成 cv::Mat redImg(cv::Size(320, 240), CV_8UC3, cv::Scalar(0, 0, 255)); // 2画像表示用のウィンドウを生成 cv::namedWindow("red", cv::WINDOW_AUTOSIZE); // 3ウィンドウに画像を表示 cv::imshow("red", redImg); // 4キー入力を待機 cv::waitKey(0); // 5作成したウィンドウを全て破棄 cv::destroyAllWindows(); return 0; }

###試したこと
・[構成プロパティ]-[リンカー]-[入力]-[追加の依存ファイル]に'opencv_core310d.lib'が追加されていることの確認をしました。
・試しに、'opencv_core310.lib'と'opencv_core310d.lib'をリリースとデバックから削除すると、今度は

'opencv_highgui310d.lib'

というエラーが出てきました。

他に何か確認すべき点があれば教えていただきたいです。

###補足情報(言語/FW/ツール等のバージョンなど)
windows10/64bit/OpenCV-3.1.0/Visual Studio2015/C++

###追記

!!イメージ説明

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

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

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

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

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

guest

回答2

0

ベストアンサー

こんにちは。

OpenCVのビルドは実施されてますでしょうか?
今、3.1.0のWindows用プリビルド版をダウンロードしてみたのですが、これにはopencv_core310d.libは入っていませんでした。

従って、リンクされている記事の「前回の記事」のように、OpenCVのビルドを行う必要があるようです。

投稿2016/06/20 12:26

Chironian

総合スコア23272

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

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

sirona_091

2016/06/20 12:41

回答、またダウンロードまでして確認していただきありがとうございます。 たしかに、opencv_core310d.libは入っていないです。 「前回の記事」には、環境構築方法として ・公式パッケージを使ったインストール ・CMakeを使ったライブラリのビルド ・NuGetを使ったパッケージインストール の3種類があると記載してあるのですが、このうちの、 「CMakeを使ったライブラリのビルド」を行う必要があるということでしょうか。
Chironian

2016/06/20 13:05

その通りです。 ちょっと大変ですが、OpenCVのビルドは比較的やりやすいので、頑張って下さい。
sirona_091

2016/06/20 17:00 編集

ありがとうございます。サイトの説明通りにやってみたのですが、 libディレクトリの中にopencv_core310.libやopencv_highgui310.libは新たにできたものの、 opencv_core310d.libとopencv_highgui310d.libは生成されず、 ビルドした際に同様のエラーが出ているままでした。 また、「LNK1104 cannot open file 'opencv_aruco310d.lib'」というエラーも出現していました。 1度すべて消して、もう1度やり直した方がよいのでしょうか。
Chironian

2016/06/20 17:23

こんにちは。 リンク先をみると、リリース・ビルドのみ行っているようです。 「3.5 ビルド」の「①ソリューション構成、プラックフォームを指定する」のところで、Debugを指定してビルドすることで、デバッグ・ビルドされます。 これによりopencv_core310d.libとopencv_highgui310d.libが生成される筈です。 > 1度すべて消して、もう1度やり直した方がよいのでしょうか。 この必要はないです。リリース・ビルドも必要になると思いますので、折角ビルドしてますから残しておきましょう。
sirona_091

2016/06/21 05:43

度々ありがとうございます。 Debugを指定してビルドを行うことにより、opencv_core310d.libとopencv_highgui310d.libが生成されました。 ただ、「LNK1104 cannot open file 'opencv_aruco310d.lib'」のエラーは消えず、CMaKeでカスタマイズできるライブラリの中にも、'opencv_aruco310.lib'等の'aruco'のつく名前のものはありませんでした。 どこで設定されているのかと探したところ、Visual Studioの、デバッグ/プロパティ/リンカー/コマンドラインの部分に'opencv_aruco310d.lib'等の多数のライブラリが設定してあり、その設定は編集できなくなっていました。
Chironian

2016/06/21 06:39

opencv_aruco310d.libはsirona_091さん自身が指定された筈です。 リンクするライブラリの設定は「デバッグ/プロパティ/リンカー/入力/追加の依存ファイル」にあります。opencv_core310d.libとopencv_highgui310d.libを残し、残りを削除してみて下さい。 ところで、リンク先(http://www.buildinsider.net/small/opencv/004)の説明にはopencv_aruco310d.libを追加するような指示はないように見えます。まだ他にも問題が出るようでしたら、リンク先の説明と異なる設定箇所について間違いないのか見直した方が良いと思います。
sirona_091

2016/06/21 07:29

ありがとうございます。 質問の、追記の部分に画像を載せましたが、 opencv_aruco310d.lib は自分で指定したのではなく、 inherited values という欄にすでに入力されていました。 欄下のチェックをはずして実行もしてみましたが、 「'opencv_core310d.lib'がコンピュータ内にありません」というエラーが再び出てしまい(あるのですが)、ダメでした。
Chironian

2016/06/21 08:20

> opencv_aruco310d.lib は自分で指定したのではなく、 > inherited values という欄にすでに入力されていました。 2.1~2.5.3までの手順ならば、sirona_091さんが指定した以外の可能性は考えにくいです。 「2.6 プロパティシート(.propsファイル)を用いた設定方法」まで行い、かつ、間違ったプロパティシートをインクルードしている可能性があります。WITH_CUDAが有効なものを使うとopencv_aruco310d.libが指定されそうですので。 構成プロパティで「全ての構成」を選択すれば、不要なlibを削除できると思います。 もし、出来ない時は2.1~2.5.3までの手順で再度プロジェクトを新規作成し、プロパティシートをインクルードしないでやってみてください。 プロパティシートのインクルードはオプションですのし、下手に使わない方が良さそうです。
sirona_091

2016/06/21 08:47

ありがとうございます。 プロパティシートを用いた設定まで行っていたのが原因で、 おっしゃる通り新しく再度プロジェクトを新規作成したところ、解決しました。 プロパティシートは慣れるまでは使わないようにしようと思います。 本当にありがとうございました。
guest

0

ライブラリーファイルへのパスは設定しましたか? ライブラリーへのパスが通っていないと、リンク時にファイルが見つからないというエラーになります。

「構成プロパティ/リンカー/全般」に「追加のライブラリ ディレクトリ」があるので、そこにopencv_core310d.libが格納されているフォルダーを追加してみてください。

投稿2016/06/20 12:27

catsforepaw

総合スコア5938

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

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

sirona_091

2016/06/20 12:39

回答ありがとうございます。 libディレクトリへのパスは設定したのですが、そのlibディレクトリ内に opencv_core310d.libがない(検索したのですが他ディレクトリにもどこにも存在しません) ので、これが原因かもしれません。
catsforepaw

2016/06/20 12:43

> これが原因かもしれません。 libファイルがどこにも存在しないとなると、これが原因ではなくChironianさんの指摘が正しいような気がします。
sirona_091

2016/06/21 05:44

おっしゃる通りです。回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問