OpenCV : undefined reference to imread()
I recommend to link the following libraries:
opencv_coreopencv_highguiopencv_imgprocopencv_imgcodecs
And in the .cpp file, you can include like this
#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace std; using namespace cv;
Or
#include <iostream> #include <opencv2/opencv.hpp> using namespace std; using namespace cv;
This function is located in opencv_imgcodecs
library. It also worths mentioning that you may need to put your object file before libraries in order to link successfully:
g++ -c -I/usr/include/opencv4/opencv -I/usr/include/opencv4 main.cppg++ main.o -lopencv_imgcodecs $(OTHER_FLAGS) -o main