<環境>
- Windows10 64bit
- コマンドプロンプト
- MinGW
- GCC
プログラムはc++です。
#include <opencv2/opencv.hpp> //#include <opencv2/opencv_lib.hpp>// #if _DEBUG #pragma comment(lib, "opencv_calib3d2411d.lib") #pragma comment(lib, "opencv_contrib2411d.lib") #pragma comment(lib, "opencv_core2411d.lib") #pragma comment(lib, "opencv_features2d2411d.lib") #pragma comment(lib, "opencv_flann2411d.lib") #pragma comment(lib, "opencv_gpu2411d.lib") #pragma comment(lib, "opencv_highgui2411d.lib") #pragma comment(lib, "opencv_imgproc2411d.lib") #pragma comment(lib, "opencv_legacy2411d.lib") #pragma comment(lib, "opencv_ml2411d.lib") #pragma comment(lib, "opencv_nonfree2411d.lib") #pragma comment(lib, "opencv_objdetect2411d.lib") #pragma comment(lib, "opencv_ocl2411d.lib") #pragma comment(lib, "opencv_photo2411d.lib") #pragma comment(lib, "opencv_stitching2411d.lib") #pragma comment(lib, "opencv_superres2411d.lib") #pragma comment(lib, "opencv_ts2411d.lib") #pragma comment(lib, "opencv_video2411d.lib") #pragma comment(lib, "opencv_videostab2411d.lib") #else #pragma comment(lib, "opencv_calib3d2411.lib") #pragma comment(lib, "opencv_contrib2411.lib") #pragma comment(lib, "opencv_core2411.lib") #pragma comment(lib, "opencv_features2d2411.lib") #pragma comment(lib, "opencv_flann2411.lib") #pragma comment(lib, "opencv_gpu2411.lib") #pragma comment(lib, "opencv_highgui2411.lib") #pragma comment(lib, "opencv_imgproc2411.lib") #pragma comment(lib, "opencv_legacy2411.lib") #pragma comment(lib, "opencv_ml2411.lib") #pragma comment(lib, "opencv_nonfree2411.lib") #pragma comment(lib, "opencv_objdetect2411.lib") #pragma comment(lib, "opencv_ocl2411.lib") #pragma comment(lib, "opencv_photo2411.lib") #pragma comment(lib, "opencv_stitching2411.lib") #pragma comment(lib, "opencv_superres2411.lib") #pragma comment(lib, "opencv_ts2411.lib") #pragma comment(lib, "opencv_video2411.lib") #pragma comment(lib, "opencv_videostab2411.lib") #endif #include <opencv2/highgui/highgui.hpp> int main(void) { cv::Mat src_img; src_img = cv::imread("C:\Users\Daito\Desktop\DTWW6svVQAEvgvk.jpg", 1); // 画像が読み込まれなかったらプログラム終了 if(src_img.empty()) return -1; // 結果画像表示 cv::namedWindow("Image", CV_WINDOW_AUTOSIZE|CV_WINDOW_FREERATIO); cv::imshow("Image", src_img); cv::waitKey(0); }
プログラム内の
#if _DEBUG #pragma comment(lib, "opencv_calib3d2411d.lib") #pragma comment(lib, "opencv_contrib2411d.lib") #pragma comment(lib, "opencv_core2411d.lib") #pragma comment(lib, "opencv_features2d2411d.lib") #pragma comment(lib, "opencv_flann2411d.lib") #pragma comment(lib, "opencv_gpu2411d.lib") #pragma comment(lib, "opencv_highgui2411d.lib") #pragma comment(lib, "opencv_imgproc2411d.lib") #pragma comment(lib, "opencv_legacy2411d.lib") #pragma comment(lib, "opencv_ml2411d.lib") #pragma comment(lib, "opencv_nonfree2411d.lib") #pragma comment(lib, "opencv_objdetect2411d.lib") #pragma comment(lib, "opencv_ocl2411d.lib") #pragma comment(lib, "opencv_photo2411d.lib") #pragma comment(lib, "opencv_stitching2411d.lib") #pragma comment(lib, "opencv_superres2411d.lib") #pragma comment(lib, "opencv_ts2411d.lib") #pragma comment(lib, "opencv_video2411d.lib") #pragma comment(lib, "opencv_videostab2411d.lib") #else #pragma comment(lib, "opencv_calib3d2411.lib") #pragma comment(lib, "opencv_contrib2411.lib") #pragma comment(lib, "opencv_core2411.lib") #pragma comment(lib, "opencv_features2d2411.lib") #pragma comment(lib, "opencv_flann2411.lib") #pragma comment(lib, "opencv_gpu2411.lib") #pragma comment(lib, "opencv_highgui2411.lib") #pragma comment(lib, "opencv_imgproc2411.lib") #pragma comment(lib, "opencv_legacy2411.lib") #pragma comment(lib, "opencv_ml2411.lib") #pragma comment(lib, "opencv_nonfree2411.lib") #pragma comment(lib, "opencv_objdetect2411.lib") #pragma comment(lib, "opencv_ocl2411.lib") #pragma comment(lib, "opencv_photo2411.lib") #pragma comment(lib, "opencv_stitching2411.lib") #pragma comment(lib, "opencv_superres2411.lib") #pragma comment(lib, "opencv_ts2411.lib") #pragma comment(lib, "opencv_video2411.lib") #pragma comment(lib, "opencv_videostab2411.lib") #endif
は#include <opencv2/opencv_lib.hpp>の中身です。分け合って直接書いています。
こちらがエラーです。
C:\Users\Daito\AppData\Local\Temp\ccNNjKfm.o:ヲvO.cpp:(.text+0x52): undefined reference to `cv::imread(cv::String const&, int)' C:\Users\Daito\AppData\Local\Temp\ccNNjKfm.o:ヲvO.cpp:(.text+0xc3): undefined reference to `cv::namedWindow(cv::String const&, int)' C:\Users\Daito\AppData\Local\Temp\ccNNjKfm.o:ヲvO.cpp:(.text+0x109): undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)' C:\Users\Daito\AppData\Local\Temp\ccNNjKfm.o:ヲvO.cpp:(.text+0x129): undefined reference to `cv::waitKey(int)' C:\Users\Daito\AppData\Local\Temp\ccNNjKfm.o:ヲvO.cpp:(.text$_ZN2cv6StringC1EPKc[__ZN2cv6StringC1EPKc]+0x3c): undefined reference to `cv::String::allocate(unsigned int)' C:\Users\Daito\AppData\Local\Temp\ccNNjKfm.o:ヲvO.cpp:(.text$_ZN2cv6StringD1Ev[__ZN2cv6StringD1Ev]+0xf): undefined reference to `cv::String::deallocate()' C:\Users\Daito\AppData\Local\Temp\ccNNjKfm.o:ヲvO.cpp:(.text$_ZN2cv3MatD1Ev[__ZN2cv3MatD1Ev]+0x2d): undefined reference to `cv::fastFree(void*)' C:\Users\Daito\AppData\Local\Temp\ccNNjKfm.o:ヲvO.cpp:(.text$_ZN2cv3Mat7releaseEv[__ZN2cv3Mat7releaseEv]+0x40): undefined reference to `cv::Mat::deallocate()' C:\Users\Daito\AppData\Local\Temp\ccNNjKfm.o:ヲvO.cpp:(.text$_ZN2cv3MataSEOS0_[__ZN2cv3MataSEOS0_]+0xa4): undefined reference to `cv::fastFree(void*)' collect2.exe: error: ld returned 1 exit status ``` エラーを見る限り関数によってエラーが出ているように見えるのですが、ヘッダファイルはちゃんと読み込めているので関数でのエラーがなぜ起きているのかヒントを頂けないでしょうか? OPENCVに関するライブラリとコンパイラしたいソースコードはcdで移動したディレクトリの「画像表示」という場所にすべて入っています。表示する画像の情報はC:\Users\Daito\Desktop\DTWW6svVQAEvgvk.jpgと書きました。デスクトップに置いてあります。 どうかよろしくお願いいたします。 補足のようで申し訳ないのですが、 - コマンドプロンプトのエラーの方では必要なライブラリなどは教えてくれるのでしょうか? また、 - 必要なライブラリは移動したディレクトリに入れておけば良いのでしょうか? - asmさんはどうやって、コマンドプロンプトでエラーを解決しているのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/29 14:17
2018/03/29 14:42
2018/03/29 14:52
2018/03/29 15:02
2018/03/29 15:08
2018/03/30 01:30 編集
2018/03/29 15:43
2018/03/29 15:50
2018/03/29 16:42
2018/03/30 00:58
2018/04/07 07:16
2018/04/07 07:26
2018/04/07 07:29
2018/04/07 07:36 編集
2018/04/07 08:31
2018/04/07 09:46
2018/04/07 09:50
2018/04/07 09:56
2018/04/07 09:58
2018/04/07 10:00
2018/04/07 10:02
2018/04/07 10:08
2018/04/07 10:10
2018/04/07 10:12
2018/04/07 10:13
2018/04/07 10:20 編集
2018/04/07 10:18
2018/04/07 10:19
2018/04/07 10:20
2018/04/07 10:39 編集
2018/04/07 10:35
2018/04/07 10:36
2018/04/07 10:38
2018/04/07 10:40
2018/04/07 10:41
2018/04/07 10:41
2018/04/07 11:10
2018/04/07 11:20
2018/04/07 13:41
2018/04/07 13:46
2018/04/07 13:46