首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何知道变量(如OpenCV)在CMake中

如何知道变量(如OpenCV)在CMake中
EN

Stack Overflow用户
提问于 2018-01-16 06:58:51
回答 3查看 1.2K关注 0票数 4

我正在使用OpenCV与gcc和cmake。我找到了一个教程cmake.html .In --文件CMakeLists.txt,有一些变量,比如OpenCVOpenCV_INCLUDE_DIRS

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.9)
project(VideoRecord)

set(CMAKE_CXX_STANDARD 11)
find_package(OpenCV REQUIRED)

include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(VideoRecord main.cpp)
target_link_libraries(VideoRecord ${OpenCV_LIBS})

我想知道在哪里可以找到这些变量定义.

编辑

谢谢你的回答。我试图搜索FindOpenCV.cmake,但失败了。

先试试。

代码语言:javascript
复制
➜  ~ cmake --help-module-list | grep "FindOpen"
FindOpenACC
FindOpenAL
FindOpenCL
FindOpenGL
FindOpenMP
FindOpenSSL
FindOpenSceneGraph
FindOpenThreads

再试一次。

代码语言:javascript
复制
➜  / find . "FindOpenCV.cmake"

另外,我的操作系统是osx,我用cmake brew**.安装了。我手动安装和安装** OpenCV .

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-16 09:13:33

这些变量是OpenCV附带的包配置脚本的一部分。

请注意,find_package是一只双头野兽。经典的操作模式是查找库通过查找脚本。这仍然是目前对不知道CMake的第三方库所使用的方法。但是,如果您的依赖本身是用CMake构建的,那么它可以提供包配置文件,这允许一种更强大的操作模式。

这里的想法是,不是告诉CMake如何找到依赖项,而是依赖项本身告诉CMake客户端如何找到依赖项。这是像OpenCV和Qt这样的库所采用的方法。

为了回答您的问题,这些变量是由本地OpenCV安装中的包配置文件设置的,该文件的模板是cmake/templates/OpenCVConfig.cmake.in下的可以在OpenCV源代码中找到。

票数 4
EN

Stack Overflow用户

发布于 2018-01-16 07:11:47

它们是在CMake OpenCV模块中定义的。CMake有许多帮助查找各种库的模块,比如OpenCV (FindOpenCV.cmake模块)。使用此命令,您可以获得CMake支持的模块列表:

代码语言:javascript
复制
cmake --help-module-list

有些库带有自己的*.cmake模块,应该安装在某些系统路径中。如果您正在使用Ubuntu,则您的cmake模块应该本地化为:

代码语言:javascript
复制
 /usr/share/cmake/Modules/

如果没有,只需搜索文件FindOpenCV.cmake。在该文件中,您将找到这些变量。

票数 0
EN

Stack Overflow用户

发布于 2018-01-16 07:56:46

通常,您可以从要查找的包的文档或源代码中获得变量名称。

通常,您可以从提供的find_package模块文件名派生要放入FindFoo.cmake的名称,因为"Foo“将是名称。查找模块要么是CMake的一部分,要么是第三方库。

如果没有查找模块,一些模块将提供FooConfig.cmake文件,其中"Foo“再次是要放入find_package的字符串。

如果您既没有查找文件,也没有配置文件,则需要通过其他方法查找库,例如FindPkgConfig或find_library / find_file

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48275576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档