我从源代码构建了 opencv,并使用 C++ 编写了基本代码。我想编译它,但不知道我该怎么做。我对此进行了研究并找到了不同的解决方案,例如 pkg-config 和 cmake 或 makefile。但我想了解如何手动编译它。所以我想将 opencv 与 C++ 链接起来。
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat image = imread("image.jpg");
namedWindow("Image", WINDOW_NORMAL);
imshow("Image", image);
waitKey(0);
destroyWindow("Image");
return 0;
}
我试过
g++ -o program DisplayImage.cpp -I/usr/local/include/opencv4 -L/usr/local/lib -lopencv_core -lopencv_highgui -lopencv_imgproc
命令。但没有成功。我收到这样的错误:
/usr/bin/ld: /tmp/ccAYFp5J.o: in function `main':
DisplayImage.cpp:(.text+0x65): undefined reference to `cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'
collect2: error: ld returned 1 exit status
如何使用 g++ 编译器编译代码以及如何链接 opencv?
您也需要链接opencv_imgcodecs。