1. 程式人生 > 其它 >fixing opencv linking problem in C++

fixing opencv linking problem in C++

errors:

/home/tonyyan/Documents/main.cpp:108: undefined reference to `cv::VideoCapture::read(cv::_OutputArray const&)'
/home/tonyyan/Documents/main.cpp:130: undefined reference to `cv::putText(cv::_InputOutputArray const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'
/home/tonyyan/Documents/main.cpp:131: undefined reference to `cv::putText(cv::_InputOutputArray const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'
/home/tonyyan/Documents/main.cpp:134: undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'
/home/tonyyan/Documents/main.cpp:135: undefined reference to `cv::waitKey(int)'
/home/tonyyan/Documents/main.cpp:69: undefined reference to `cv::VideoCapture::~VideoCapture()'
/home/tonyyan/Documents/main.cpp:68: undefined reference to `cv::Mat::~Mat()'
/home/tonyyan/Documents/main.cpp:36: undefined reference to `cv::Mat::~Mat()'
/home/tonyyan/Documents/main.cpp:69: undefined reference to `cv::VideoCapture::~VideoCapture()'
/home/tonyyan/Documents/main.cpp:68: undefined reference to `cv::Mat::~Mat()'
/home/tonyyan/Documents/main.cpp:36: undefined reference to `cv::Mat::~Mat()'

solution:

add the following arguments to g++:

-lopencv_core -lopencv_imgproc -lopencv_highgui

in tasks.json of vscode:

                "-lopencv_core",
                "-lopencv_imgproc",
                "-lopencv_highgui",

reference:

https://stackoverflow.com/questions/24337932/cannot-get-opencv-to-compile-because-of-undefined-references

error:

9: undefined reference to `cv::VideoCapture::VideoCapture()'

solution:

"-lopencv_videoio",