OpenCv undefined reference to `cv::

17,551

problem1: you will have to include opencv / c++ header files to make it work:

#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#using namespace cv;

#include <iostream>
#using namespace std;

int main() {
...

then, problem2: you cannot use the vc12 libs with mingw. (it's a different compiler)

there are no more prebuild mingw libs for opencv, so, before doing anything else, you will have to build the opencv libs locally using cmake.


again, do you really need to use mingw / eclipse ? (vs express is still free)

Share:
17,551
ayberkzeray
Author by

ayberkzeray

Currently working with Xamarin Forms and ASP.NET MVC Also I like natural water

Updated on July 21, 2022

Comments

  • ayberkzeray
    ayberkzeray almost 2 years

    I am new at OpenCv. I am using Eclipse C/C++. When i try to run this sample code i faced with these errors. What should i do to solve this problem? Is there any problem at configurating ?

    #using namespace std;
    #using namespace cv;
    
        int main( int argc, const char** argv )
        {
             Mat img = imread("MyPic.JPG", CV_LOAD_IMAGE_UNCHANGED); 
             if (img.empty()) //check whether the image is loaded or not
             {
                  cout << "Error : Image cannot be loaded..!!" << endl;
                  //system("pause"); //wait for a key press
                  return -1;
             }
             namedWindow("MyWindow", CV_WINDOW_AUTOSIZE); //create a window with the name "MyWindow"
             imshow("MyWindow", img); /
             waitKey(0); //wait infinite time for a keypress
             destroyWindow("MyWindow"); //destroy the window with the name, "MyWindow"
    
             return 0;
        }
    
    
    16:11:28 **** Incremental Build of configuration Debug for project OpenCv ****
    Info: Internal Builder is used for build
    g++ "-IC:\\opencv\\build\\include" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\OpenCv.o" "..\\src\\OpenCv.cpp" 
    g++ "-LC:\\opencv\\build\\x86\\vc12\\lib" -o OpenCv.exe "src\\OpenCv.o" -lopencv_calib3d249 -lopencv_contrib249 -lopencv_core249 -lopencv_features2d249 -lopencv_flann249 -lopencv_gpu249 -lopencv_highgui249 -lopencv_imgproc249 -lopencv_legacy249 -lopencv_ml249 -lopencv_nonfree249 -lopencv_objdetect249 -lopencv_ocl249 -lopencv_photo249 -lopencv_stitching249 -lopencv_superres249 -lopencv_ts249 -lopencv_video249 -lopencv_videostab249 
    src\OpenCv.o: In function `main':
    C:\Users\ayberk101\workspace\OpenCv\Debug/../src/OpenCv.cpp:10: undefined reference to `cv::imread(std::string const&, int)'
    C:\Users\ayberk101\workspace\OpenCv\Debug/../src/OpenCv.cpp:19: undefined reference to `cv::namedWindow(std::string const&, int)'
    C:\Users\ayberk101\workspace\OpenCv\Debug/../src/OpenCv.cpp:20: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
    C:\Users\ayberk101\workspace\OpenCv\Debug/../src/OpenCv.cpp:20: undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'
    C:\Users\ayberk101\workspace\OpenCv\Debug/../src/OpenCv.cpp:22: undefined reference to `cv::waitKey(int)'
    C:\Users\ayberk101\workspace\OpenCv\Debug/../src/OpenCv.cpp:24: undefined reference to `cv::destroyWindow(std::string const&)'
    src\OpenCv.o: In function `ZN2cv3MatD1Ev':
    C:/opencv/build/include/opencv2/core/mat.hpp:278: undefined reference to `cv::fastFree(void*)'
    src\OpenCv.o: In function `ZN2cv3Mat7releaseEv':
    C:/opencv/build/include/opencv2/core/mat.hpp:367: undefined reference to `cv::Mat::deallocate()'
    collect2.exe: error: ld returned 1 exit status
    

    enter image description here