🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Visual C++

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

Visual Studio

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

OpenCV

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

Q&A

解決済

1回答

2225閲覧

Visual Studio 2019 WindowProject で OpenCV を使用したいです(その2)

TAKASE_Hiroyuki

総合スコア21

Visual C++

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

Visual Studio

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

OpenCV

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

0グッド

0クリップ

投稿2019/11/22 00:05

編集2019/11/22 05:14

経緯

Windows10 で Visual Studio 2019 を動かしています。プロジェクトとして、Windows上で実行されるグラフィカルユーザーインターフェース付きアプリケーションを作成することができる、「Windows デスクトップ アプリケーション」を選択していますが、OpenCV をうまく使うことがでません。

OpenCV の設定について

https://opencv.org/releases/
から Windows用のファイルをダウンロードし、解凍して
C:\hoge\opencv
に置いてあります。たとえば、opencv.hpp は、
C:\hoge\opencv\build\include\opencv2\opencv.hpp
にあります。また、Windows10 のパスに
C:\hoge\opencv\build\x64\vc15\bin
が追加してあります。

Visual Studio の設定について

Visual Studio 2019 は標準的にイントールしました。
WinPro というプロジェクトが、C:\hoge\ に作ってあります。
ビルドすると、C:\hoge\WinPro\Debug\WinPro.exe というファイルが作られます。

OpenCV を使用するために、Visual Studio のインクルードパスに、
C:\hoge\opencv\build\include
が追加してあります。
また、Visual Studio のライブラリパスには、
C:\hoge\opencv\build\x64\vc15\lib
が追加してあります。

現在までの状況

WinPro.cpp の4行目から6行目までに

#include "framework.h" #include "WinPro.h" #include "opencv2/opencv.hpp" // この行を追加

と記載したところ、無事にビルドできました。

エラー内容

C:\hoge\WinPro\picture.png という画像ファイルを、メインウインドウに表示させたい考えています。そこで、WinPro.cpp の 29行目から30行目に、

// TODO: ここにコードを挿入してください。 cv::Mat img; // この行を追加

と記載してビルドしたところ、

1>------ ビルド開始: プロジェクト: WinPro, 構成: Debug x64 ------ 1>WinPro.cpp 1>WinPro.obj : error LNK2019: 未解決の外部シンボル "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPEAX@Z) が関数 "public: __cdecl cv::Mat::~Mat(void)" (??1Mat@cv@@QEAA@XZ) で参照されました。 1>WinPro.obj : error LNK2019: 未解決の外部シンボル "public: void __cdecl cv::Mat::deallocate(void)" (?deallocate@Mat@cv@@QEAAXXZ) が関数 "public: void __cdecl cv::Mat::release(void)" (?release@Mat@cv@@QEAAXXZ) で参照されました。 1>C:\hoge\WinPro\x64\Debug\WinPro.exe : fatal error LNK1120: 2 件の未解決の外部参照 1>プロジェクト "WinPro.vcxproj" のビルドが終了しました -- 失敗。 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========

と表示され、ビルドできません。

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

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

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

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

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

guest

回答1

0

ベストアンサー

1>C:\hoge\WinPro\x64\Debug\WinPro.exe : fatal error LNK1120: 2 件の未解決の外部参照

Visual Studio 2019ビルド時のリンクエラーですね。OpenCVを使い続けるのであれば、一度、ビルドの為の環境設定を見直して、整備された方が良いと思います。このteratailでも過去、同様の質問が何度か投稿されています。「キーワードで検索」で「Windows OpenCV」などと検索すると参考となるものが得られるかもしれません。

VS2019におけるopencvを使用する際のリンカの設定 - teratail#215829

2015年と少し古いですが
OpenCV】Windows環境でOpenCVをC言語で使いたい - teratail#14459

teratail外でも @IT でまとまった記事があります。
第3回 OpenCVの環境構築(OpenCV 3.0/3.1) (1/3) - @IT OpenCV入門【3.0対応】

投稿2019/11/22 01:47

dodox86

総合スコア9254

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

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

TAKASE_Hiroyuki

2019/11/22 11:49

もう一度、ひとつひとつ、きちんと確認したところ、自分の入力にミスがあったことがわかりました。おっしゃるとおり、環境設定をきちんと見直すべきでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問