teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

8

解決したコードを追記

2018/12/28 00:06

投稿

notgoodpg
notgoodpg

スコア37

title CHANGED
File without changes
body CHANGED
@@ -50,6 +50,14 @@
50
50
  }
51
51
 
52
52
  ```
53
+ ### 問題を解決するコード
54
+ ```c++
55
+ #ifdef DEBUG
56
+ #pragma comment(lib,"opencv2\opencv_imgcodecs341d.dll")
57
+ #else
58
+ #pragma comment(lib,"opencv2\opencv_imgcodecs341.dll")
59
+ #endif
60
+ ```
53
61
 
54
62
  ### 試したこと
55
63
 

7

目的の明確化

2018/12/28 00:06

投稿

notgoodpg
notgoodpg

スコア37

title CHANGED
File without changes
body CHANGED
@@ -35,7 +35,8 @@
35
35
  ```
36
36
 
37
37
  OpenCV3.4.1のバージョンではx86アプリケーションで利用は不可能になっているのでしょうか。
38
+ その場合VisualStudio2015で開発したx86MFCアプリケーションで利用可能なOpenCVのバージョンが知りたいです。
38
- または、利用可能だが特に設定すべき項目など教えていただけたら幸いです。
39
+ または、利用可能だが設定すべき項目があるらばご指摘いただけたら幸いです。
39
40
  よろしくお願いいたします。
40
41
 
41
42
  ### 該当のソースコード

6

なんでもいいからVisualStudio2015で開発したx86アプリでOpenCVを動かしたい旨を記載

2018/12/27 08:55

投稿

notgoodpg
notgoodpg

スコア37

title CHANGED
File without changes
body CHANGED
@@ -11,10 +11,6 @@
11
11
  ### 発生している問題・エラーメッセージ
12
12
  しかし新しくソリューションを作成して[OpenCVを用いたサンプル](https://www.buildinsider.net/small/opencv/003)を試しに動かそうとしてDebug構成でビルドを実行するとリンカエラーが発生します。
13
13
 
14
- 2018-12-27-17:04追記:
15
- とにかく安定して動く方法が必要で、x86アプリで動くならバージョンはOpenCV3.4.1に拘りません。
16
- x86アプリはすでに開発が進んでしまっており条件を変えるのは利用しているdllなどの兼ね合いから困難です。
17
-
18
14
  エラーを以下に列挙します
19
15
  ```
20
16
  エラー LNK2019 未解決の外部シンボル "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) が関数 "public: __thiscall cv::Mat::~Mat(void)" (??1Mat@cv@@QAE@XZ) で参照されました。
@@ -67,4 +63,4 @@
67
63
  - VisualStudio2015 SP1
68
64
  - C++/MFC
69
65
  - C Make 3.13.2
70
- - OpenCV 3.4.1
66
+ - OpenCV 3.4.1(VisualStudio2015で開発したMFCのx86アプリで動作するなら別のバージョンでも構いません)

5

なんでもいいからVisualStudio2015で開発したx86アプリでOpenCVを動かしたい旨を記載

2018/12/27 08:07

投稿

notgoodpg
notgoodpg

スコア37

title CHANGED
File without changes
body CHANGED
@@ -11,6 +11,10 @@
11
11
  ### 発生している問題・エラーメッセージ
12
12
  しかし新しくソリューションを作成して[OpenCVを用いたサンプル](https://www.buildinsider.net/small/opencv/003)を試しに動かそうとしてDebug構成でビルドを実行するとリンカエラーが発生します。
13
13
 
14
+ 2018-12-27-17:04追記:
15
+ とにかく安定して動く方法が必要で、x86アプリで動くならバージョンはOpenCV3.4.1に拘りません。
16
+ x86アプリはすでに開発が進んでしまっており条件を変えるのは利用しているdllなどの兼ね合いから困難です。
17
+
14
18
  エラーを以下に列挙します
15
19
  ```
16
20
  エラー LNK2019 未解決の外部シンボル "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) が関数 "public: __thiscall cv::Mat::~Mat(void)" (??1Mat@cv@@QAE@XZ) で参照されました。

4

エラーの内容がサンプルコードを差し替える前のままになっていたので修正。

2018/12/27 08:05

投稿

notgoodpg
notgoodpg

スコア37

title CHANGED
File without changes
body CHANGED
@@ -16,35 +16,23 @@
16
16
  エラー LNK2019 未解決の外部シンボル "void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z) が関数 "public: __thiscall cv::Mat::~Mat(void)" (??1Mat@cv@@QAE@XZ) で参照されました。
17
17
  ```
18
18
  ```
19
- エラー LNK2019 未解決の外部シンボル "private: char * __thiscall cv::String::allocate(unsigned int)" (?allocate@String@cv@@AAEPADI@Z) が関数 "public: __thiscall cv::String::String(char const *)" (??0String@cv@@QAE@PBD@Z) で参照されました。
19
+ エラー LNK1120 5 件の未解決の外部参照
20
20
  ```
21
21
  ```
22
- エラー LNK2019 未解決の外部シンボル "private: void __thiscall cv::String::deallocate(void)" (?deallocate@String@cv@@AAEXXZ) が関数 "public: __thiscall cv::String::~String(void)" (??1String@cv@@QAE@XZ) 参照されました
22
+ エラー LNK2001 外部シンボル ""private: void __thiscall cv::String::deallocate(void)" (?deallocate@String@cv@@AAEXXZ)" は未解決
23
23
  ```
24
24
  ```
25
- エラー LNK2001 外部シンボル ""private: void __thiscall cv::String::deallocate(void)" (?deallocate@String@cv@@AAEXXZ)" は未解決
25
+ エラー LNK2019 未解決の外部シンボル "class cv::Mat __cdecl cv::imread(class cv::String const &,int)" (?imread@cv@@YA?AVMat@1@ABVString@1@H@Z) が関数 "public: void __thiscall CExperimentOpenCVDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CExperimentOpenCVDlg@@QAEXXZ) で参照されました
26
26
  ```
27
27
  ```
28
- エラー LNK2019 未解決の外部シンボル "public: class cv::Mat & __thiscall cv::Mat::operator=(class cv::Scalar_<double> const &)" (??4Mat@cv@@QAEAAV01@ABV?$Scalar_@N@1@@Z) が関数 "public: __thiscall cv::Mat::Mat(class cv::Size_<int>,int,class cv::Scalar_<double> const &)" (??0Mat@cv@@QAE@V?$Size_@H@1@HABV?$Scalar_@N@1@@Z) で参照されました。
28
+ エラー LNK2019 未解決の外部シンボル "private: char * __thiscall cv::String::allocate(unsigned int)" (?allocate@String@cv@@AAEPADI@Z) が関数 "public: __thiscall cv::String::String(char const *)" (??0String@cv@@QAE@PBD@Z) で参照されました。
29
29
  ```
30
30
  ```
31
- エラー LNK2019 未解決の外部シンボル "public: void __thiscall cv::Mat::create(int,int const *,int)" (?create@Mat@cv@@QAEXHPBHH@Z) が関数 "public: void __thiscall cv::Mat::create(int,int,int)" (?create@Mat@cv@@QAEXHHH@Z) で参照されました。
31
+ エラー LNK2019 未解決の外部シンボル "private: void __thiscall cv::String::deallocate(void)" (?deallocate@String@cv@@AAEXXZ) が関数 "public: __thiscall cv::String::~String(void)" (??1String@cv@@QAE@XZ) で参照されました。
32
32
  ```
33
33
  ```
34
34
  エラー LNK2019 未解決の外部シンボル "public: void __thiscall cv::Mat::deallocate(void)" (?deallocate@Mat@cv@@QAEXXZ) が関数 "public: void __thiscall cv::Mat::release(void)" (?release@Mat@cv@@QAEXXZ) で参照されました。
35
35
  ```
36
- ```
37
- エラー LNK2019 未解決の外部シンボル "void __cdecl cv::namedWindow(class cv::String const &,int)" (?namedWindow@cv@@YAXABVString@1@H@Z) が関数 "public: void __thiscall CExperimentOpenCVDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CExperimentOpenCVDlg@@QAEXXZ) で参照されました。
38
- ```
39
- ```
40
- エラー LNK2019 未解決の外部シンボル "void __cdecl cv::destroyAllWindows(void)" (?destroyAllWindows@cv@@YAXXZ) が関数 "public: void __thiscall CExperimentOpenCVDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CExperimentOpenCVDlg@@QAEXXZ) で参照されました。
41
- ```
42
- ```
43
- エラー LNK2019 未解決の外部シンボル "int __cdecl cv::waitKey(int)" (?waitKey@cv@@YAHH@Z) が関数 "public: void __thiscall CExperimentOpenCVDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CExperimentOpenCVDlg@@QAEXXZ) で参照されました。
44
- ```
45
- ```
46
- エラー LNK2019 未解決の外部シンボル "void __cdecl cv::imshow(class cv::String const &,class cv::debug_build_guard::_InputArray const &)" (?imshow@cv@@YAXABVString@1@ABV_InputArray@debug_build_guard@1@@Z) が関数 "public: void __thiscall CExperimentOpenCVDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CExperimentOpenCVDlg@@QAEXXZ) で参照されました。
47
- ```
48
36
 
49
37
  OpenCV3.4.1のバージョンではx86アプリケーションで利用は不可能になっているのでしょうか。
50
38
  または、利用可能だが特に設定するべき項目など教えていただけたら幸いです。

3

リンカエラーなのでimreadを呼んだだけでももちろんこける。わかりやすいのでソースコードを変更

2018/12/27 07:28

投稿

notgoodpg
notgoodpg

スコア37

title CHANGED
File without changes
body CHANGED
@@ -51,21 +51,12 @@
51
51
  よろしくお願いいたします。
52
52
 
53
53
  ### 該当のソースコード
54
- [転載元リンク](https://www.buildinsider.net/small/opencv/003)
55
54
  ```c++
56
55
  void CExperimentOpenCVDlg::OnBnClickedOk()
57
56
  {
58
57
  // TODO: ここにコントロール通知ハンドラー コードを追加します。
59
- // 幅320px、高さ240pxで赤色の画像データを生成
60
- cv::Mat redImg(cv::Size(320, 240), CV_8UC3, cv::Scalar(0, 0, 255));
61
- // 画像表示用のウィンドウを生成
62
- cv::namedWindow("red", cv::WINDOW_AUTOSIZE);
58
+ cv::imread("hoge.jpg");//リンカエラーなのでimreadを呼んだだけでもコケる
63
- // ウィンドウに画像を表示
59
+
64
- cv::imshow("red", redImg);
65
- // キー入力を待機
66
- cv::waitKey(0);
67
- // 作成したウィンドウを全て破棄
68
- cv::destroyAllWindows();
69
60
  //CDialogEx::OnOK();
70
61
  }
71
62
 

2

バージョン情報が抜けてるものがあったので追記

2018/12/27 07:10

投稿

notgoodpg
notgoodpg

スコア37

title CHANGED
File without changes
body CHANGED
@@ -82,4 +82,6 @@
82
82
  ### 補足情報(FW/ツールのバージョンなど)
83
83
  - Windows7/64bit SP
84
84
  - VisualStudio2015 SP1
85
- - C++/MFC
85
+ - C++/MFC
86
+ - C Make 3.13.2
87
+ - OpenCV 3.4.1

1

何を求めての質問か書いていなかったので追記

2018/12/27 05:30

投稿

notgoodpg
notgoodpg

スコア37

title CHANGED
File without changes
body CHANGED
@@ -46,6 +46,10 @@
46
46
  エラー LNK2019 未解決の外部シンボル "void __cdecl cv::imshow(class cv::String const &,class cv::debug_build_guard::_InputArray const &)" (?imshow@cv@@YAXABVString@1@ABV_InputArray@debug_build_guard@1@@Z) が関数 "public: void __thiscall CExperimentOpenCVDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CExperimentOpenCVDlg@@QAEXXZ) で参照されました。
47
47
  ```
48
48
 
49
+ OpenCV3.4.1のバージョンではx86アプリケーションで利用は不可能になっているのでしょうか。
50
+ または、利用可能だが特に設定するべき項目など教えていただけたら幸いです。
51
+ よろしくお願いいたします。
52
+
49
53
  ### 該当のソースコード
50
54
  [転載元リンク](https://www.buildinsider.net/small/opencv/003)
51
55
  ```c++