简体   繁体   English

如何将 opencv package 添加到 CMakelists.txt?

[英]How to add opencv package to CMakelists.txt?

I have a.cpp file with opencv code.我有一个带有 opencv 代码的.cpp 文件。 Things compile when I do: g++ my_file.cpp .当我这样做时,事情会编译: g++ my_file.cpp

My ~/.zshrc : alias g++='g++ $(pkg-config --cflags --libs /usr/local/opt/opencv@2/lib/pkgconfig/opencv.pc)'我的~/.zshrcalias g++='g++ $(pkg-config --cflags --libs /usr/local/opt/opencv@2/lib/pkgconfig/opencv.pc)'

I want to harness Clion's autocomplete features;我想利用 Clion 的自动完成功能; as such I need to tell it where my opencv libs are located through the CMakelist.因此,我需要通过 CMakelist 告诉它我的 opencv 库位于何处。

Currently, it looks like this:目前,它看起来像这样:

cmake_minimum_required(VERSION 3.14)
project(my_project)

set(CMAKE_CXX_STANDARD 14)

add_executable(my_project main.cpp)

How do I add opencv as a dependency in my CMakelist in the simplest way possible?如何以最简单的方式在我的 CMakelist 中添加 opencv 作为依赖项?

https://docs.opencv.org/2.4/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.html https://docs.opencv.org/2.4/doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.ZFC35FDC70D5FC69D269883A822C7A53

Key portions: to find OpenCV and set OpenCV-related build variables关键部分:找到 OpenCV 并设置 OpenCV 相关的构建变量

find_package( OpenCV REQUIRED )

and to link a build target to OpenCV并将构建目标链接到 OpenCV

target_link_libraries( DisplayImage ${OpenCV_LIBS} )

This assumes OpenCV's headers and libraries are in the default search path.这假设 OpenCV 的头文件和库位于默认搜索路径中。 Easiest way of ensuring that on Linux is with the system package manager ( sudo apt install opencv libopencv-dev or dnf install opencv opencv-devel ). Easiest way of ensuring that on Linux is with the system package manager ( sudo apt install opencv libopencv-dev or dnf install opencv opencv-devel ). You can also look at dependency managers like vcpkg or conan for more portable solutions.您还可以查看 vcpkg 或 conan 之类的依赖项管理器,以获得更便携的解决方案。 (You can always build it yourself but that's rarely the easiest way for a popular library). (您始终可以自己构建它,但这对于流行的库来说很少是最简单的方法)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM