質問編集履歴

8

解決したコードを追記

2018/12/28 00:06

投稿

notgoodpg
notgoodpg

スコア37

test CHANGED
File without changes
test CHANGED
@@ -102,6 +102,22 @@
102
102
 
103
103
  ```
104
104
 
105
+ ### 問題を解決するコード
106
+
107
+ ```c++
108
+
109
+ #ifdef DEBUG
110
+
111
+ #pragma comment(lib,"opencv2\opencv_imgcodecs341d.dll")
112
+
113
+ #else
114
+
115
+ #pragma comment(lib,"opencv2\opencv_imgcodecs341.dll")
116
+
117
+ #endif
118
+
119
+ ```
120
+
105
121
 
106
122
 
107
123
  ### 試したこと

7

目的の明確化

2018/12/28 00:06

投稿

notgoodpg
notgoodpg

スコア37

test CHANGED
File without changes
test CHANGED
@@ -72,7 +72,9 @@
72
72
 
73
73
  OpenCV3.4.1のバージョンではx86アプリケーションで利用は不可能になっているのでしょうか。
74
74
 
75
+ その場合VisualStudio2015で開発したx86MFCアプリケーションで利用可能なOpenCVのバージョンが知りたいです。
76
+
75
- または、利用可能だが特に設定すべき項目など教えていただけたら幸いです。
77
+ または、利用可能だが設定すべき項目があるらばご指摘いただけたら幸いです。
76
78
 
77
79
  よろしくお願いいたします。
78
80
 

6

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

2018/12/27 08:55

投稿

notgoodpg
notgoodpg

スコア37

test CHANGED
File without changes
test CHANGED
@@ -21,14 +21,6 @@
21
21
  ### 発生している問題・エラーメッセージ
22
22
 
23
23
  しかし新しくソリューションを作成して[OpenCVを用いたサンプル](https://www.buildinsider.net/small/opencv/003)を試しに動かそうとしてDebug構成でビルドを実行するとリンカエラーが発生します。
24
-
25
-
26
-
27
- 2018-12-27-17:04追記:
28
-
29
- とにかく安定して動く方法が必要で、x86アプリで動くならバージョンはOpenCV3.4.1に拘りません。
30
-
31
- x86アプリはすでに開発が進んでしまっており条件を変えるのは利用しているdllなどの兼ね合いから困難です。
32
24
 
33
25
 
34
26
 
@@ -136,4 +128,4 @@
136
128
 
137
129
  - C Make 3.13.2
138
130
 
139
- - OpenCV 3.4.1
131
+ - OpenCV 3.4.1(VisualStudio2015で開発したMFCのx86アプリで動作するなら別のバージョンでも構いません)

5

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

2018/12/27 08:07

投稿

notgoodpg
notgoodpg

スコア37

test CHANGED
File without changes
test CHANGED
@@ -21,6 +21,14 @@
21
21
  ### 発生している問題・エラーメッセージ
22
22
 
23
23
  しかし新しくソリューションを作成して[OpenCVを用いたサンプル](https://www.buildinsider.net/small/opencv/003)を試しに動かそうとしてDebug構成でビルドを実行するとリンカエラーが発生します。
24
+
25
+
26
+
27
+ 2018-12-27-17:04追記:
28
+
29
+ とにかく安定して動く方法が必要で、x86アプリで動くならバージョンはOpenCV3.4.1に拘りません。
30
+
31
+ x86アプリはすでに開発が進んでしまっており条件を変えるのは利用しているdllなどの兼ね合いから困難です。
24
32
 
25
33
 
26
34
 

4

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

2018/12/27 08:05

投稿

notgoodpg
notgoodpg

スコア37

test CHANGED
File without changes
test CHANGED
@@ -34,6 +34,24 @@
34
34
 
35
35
  ```
36
36
 
37
+ エラー LNK1120 5 件の未解決の外部参照
38
+
39
+ ```
40
+
41
+ ```
42
+
43
+ エラー LNK2001 外部シンボル ""private: void __thiscall cv::String::deallocate(void)" (?deallocate@String@cv@@AAEXXZ)" は未解決です。
44
+
45
+ ```
46
+
47
+ ```
48
+
49
+ エラー 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) で参照されました。
50
+
51
+ ```
52
+
53
+ ```
54
+
37
55
  エラー 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) で参照されました。
38
56
 
39
57
  ```
@@ -46,49 +64,7 @@
46
64
 
47
65
  ```
48
66
 
49
- エラー LNK2001 外部シンボル ""private: void __thiscall cv::String::deallocate(void)" (?deallocate@String@cv@@AAEXXZ)" は未解決です。
50
-
51
- ```
52
-
53
- ```
54
-
55
- エラー 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) で参照されました。
56
-
57
- ```
58
-
59
- ```
60
-
61
- エラー 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) で参照されました。
62
-
63
- ```
64
-
65
- ```
66
-
67
67
  エラー LNK2019 未解決の外部シンボル "public: void __thiscall cv::Mat::deallocate(void)" (?deallocate@Mat@cv@@QAEXXZ) が関数 "public: void __thiscall cv::Mat::release(void)" (?release@Mat@cv@@QAEXXZ) で参照されました。
68
-
69
- ```
70
-
71
- ```
72
-
73
- エラー 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) で参照されました。
74
-
75
- ```
76
-
77
- ```
78
-
79
- エラー LNK2019 未解決の外部シンボル "void __cdecl cv::destroyAllWindows(void)" (?destroyAllWindows@cv@@YAXXZ) が関数 "public: void __thiscall CExperimentOpenCVDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CExperimentOpenCVDlg@@QAEXXZ) で参照されました。
80
-
81
- ```
82
-
83
- ```
84
-
85
- エラー LNK2019 未解決の外部シンボル "int __cdecl cv::waitKey(int)" (?waitKey@cv@@YAHH@Z) が関数 "public: void __thiscall CExperimentOpenCVDlg::OnBnClickedOk(void)" (?OnBnClickedOk@CExperimentOpenCVDlg@@QAEXXZ) で参照されました。
86
-
87
- ```
88
-
89
- ```
90
-
91
- エラー 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) で参照されました。
92
68
 
93
69
  ```
94
70
 

3

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

2018/12/27 07:28

投稿

notgoodpg
notgoodpg

スコア37

test CHANGED
File without changes
test CHANGED
@@ -104,8 +104,6 @@
104
104
 
105
105
  ### 該当のソースコード
106
106
 
107
- [転載元リンク](https://www.buildinsider.net/small/opencv/003)
108
-
109
107
  ```c++
110
108
 
111
109
  void CExperimentOpenCVDlg::OnBnClickedOk()
@@ -114,25 +112,9 @@
114
112
 
115
113
  // TODO: ここにコントロール通知ハンドラー コードを追加します。
116
114
 
117
- // 幅320px、高さ240px赤色の画像データ生成
115
+ cv::imread("hoge.jpg");//リンカエラーなのimread呼んだだけでもコケる
118
116
 
119
- cv::Mat redImg(cv::Size(320, 240), CV_8UC3, cv::Scalar(0, 0, 255));
120
117
 
121
- // 画像表示用のウィンドウを生成
122
-
123
- cv::namedWindow("red", cv::WINDOW_AUTOSIZE);
124
-
125
- // ウィンドウに画像を表示
126
-
127
- cv::imshow("red", redImg);
128
-
129
- // キー入力を待機
130
-
131
- cv::waitKey(0);
132
-
133
- // 作成したウィンドウを全て破棄
134
-
135
- cv::destroyAllWindows();
136
118
 
137
119
  //CDialogEx::OnOK();
138
120
 

2

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

2018/12/27 07:10

投稿

notgoodpg
notgoodpg

スコア37

test CHANGED
File without changes
test CHANGED
@@ -167,3 +167,7 @@
167
167
  - VisualStudio2015 SP1
168
168
 
169
169
  - C++/MFC
170
+
171
+ - C Make 3.13.2
172
+
173
+ - OpenCV 3.4.1

1

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

2018/12/27 05:30

投稿

notgoodpg
notgoodpg

スコア37

test CHANGED
File without changes
test CHANGED
@@ -94,6 +94,14 @@
94
94
 
95
95
 
96
96
 
97
+ OpenCV3.4.1のバージョンではx86アプリケーションで利用は不可能になっているのでしょうか。
98
+
99
+ または、利用可能だが特に設定するべき項目など教えていただけたら幸いです。
100
+
101
+ よろしくお願いいたします。
102
+
103
+
104
+
97
105
  ### 該当のソースコード
98
106
 
99
107
  [転載元リンク](https://www.buildinsider.net/small/opencv/003)