我想在我的项目文件夹中使用 opencv,因为我的其他同事并不都在同一平台(Linux、Windows)上工作。因此,为了更容易地克隆和编译项目,我只想克隆 git 并启动编译就可以在该项目上工作。(不使用任何环境变量,完全独立)
\n\n与其他库(glfw)一样,我只是将解压缩的文件夹添加到我的依赖项文件夹中。然后我添加了 add_subdirectory 和 target_link_libraries 语句。
\n\n然后我得到一个我无法解决的小错误。
\n\n有关我的项目的信息如下
\n\n1. 项目文件夹结构
\n\nproject\n\xe2\x94\x82 README.md\n| CMakeLists.txt (my CMakeLists project) \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80dependencies\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80opencv-4.1.2\n\xe2\x94\x82 \xe2\x94\x82 CMakeLists.txt (the original opencv CMakeLists (untouched))\n\xe2\x94\x82 \xe2\x94\x82 ...\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80src\n \xe2\x94\x82 main.cpp\nRun Code Online (Sandbox Code Playgroud)\n\n2.我的CMakeLists内容
\n\ncmake_minimum_required(VERSION 3.15)\nproject(OpTests)\n\nset(CMAKE_CXX_STANDARD 17)\n\nadd_subdirectory(dependencies/opencv-4.1.2)\n\nadd_executable(OpTests src/main.cpp)\ntarget_link_libraries(OpTests opencv_core opencv_highgui opencv_imgproc opencv_videoio)\nRun Code Online (Sandbox Code Playgroud)\n\n3.main.cpp内容
\n\n#include <iostream>\n#include <opencv2/opencv.hpp>\n\nint main() {\n std::cout << CV_VERSION << std::endl;\n cv::Mat M(2,2, CV_8UC3, cv::Scalar(0,0,255));\n std::cout << "M = " << std::endl << " " << M << std::endl << …Run Code Online (Sandbox Code Playgroud)