実現したいこと
VisualStudio2015でのopencvを利用し、以下のことを実装したいのですが、うまく出来ません。
- プリコンパイル済みヘッダー
- クラス分け
メイン文には何も入れていませんが、クラス内でMat型を仕様しています。
余談かもしれませんが
念の為、以前作成したクラスとプリコンパイル済みヘッダーを利用しないプログラムでも動作しましたが、そちらでは、問題なく使用出来ています。
解決方法やアドバイス等ありましたら、よろしくおねがいします。
発生してる問題
以下のようなエラーが出てしまいます
重大度レベル コード 説明 エラー LNK2001 外部シンボル ""class cv::MatExpr __cdecl cv::operator==(class cv::Mat const &,class cv::Mat const &)" (??8cv@@YA?AVMatExpr@0@ABVMat@0@0@Z)" は未解決です。
ライブラリが参照出来ていないことが原因ではないかと考えています。
関連するソースコード
stdafx
1#pragma once 2 3#include "targetver.h" 4 5#include <stdio.h> 6#include <tchar.h> 7 8// TODO: プログラムに必要な追加ヘッダーをここで参照してください 9#include <iostream> 10#include <opencv2/opencv.hpp>
main
1#include "stdafx.h" 2#include "ImgInfo.h" 3 4#pragma comment(lib, "opencv_core310.lib") 5#pragma comment(lib, "opencv_highgui310.lib") 6#pragma comment(lib, "opencv_imgproc310.lib") 7 8int main() 9{ 10 return 0; 11}
ImgInfo
1class ImgInfo 2{ 3public: 4 //Ctor/Dtor 5 ImgInfo(); 6 ~ImgInfo(); 7 8 //Setter/Getter 9 cv::Mat GetImg(); 10 void SetImg(cv::Mat _img); 11 12private: 13 cv::Mat img; 14}; 15 16cv::Mat ImgInfo::GetImg() { 17 return this->img; 18} 19 20void ImgInfo::SetImg(cv::Mat _img) { 21 this->img = _img; 22}
OpenCVはどのようにインストールしましたか?Nuget経由 or 公式サイトよりダウンロード or CMake自前ビルド?
一年以上前にインストールしたため、曖昧なのですが、たぶんCMakeを利用し、ライブラリのビルドを行ったと思います。
余談かもしれませんが
念の為、以前作成したクラスとプリコンパイル済みヘッダーを利用しないプログラムでも動作しましたが、そちらでは、問題なく使用出来ています。
ライブラリパスを入れるのは
「ライブラリ WinRTディレクトリ」じゃなくて、
「ライブラリディレクトリ」ではないでしょうか?
コメントありがとうございます。
返信遅れてしまい申し訳ありません。
完全に見逃していました。ありがとうございます。
そこを修正しましたが、依存ファイルを追加しない場合、同様のエラーが起きてしまいました。
そのため、追加の依存ファイルを設定するか。
ライブラリを参照できる設定を逃しているのだと考えています。
回答2件
あなたの回答
tips
プレビュー