当前位置:   article > 正文

cmake中的find_package(xxx REQUIRED)与set(CMAKE_PREFIX_PATH xxx)_find_package required

find_package required

目录

1 find_package(xxx REQUIRED)

2 set(CMAKE_PREFIX_PATH xxx)


find_package(xxx REQUIRED)

find_package(xxx REQUIRED)的作用就是寻找包,比如我们某个工程编译的时候需要用到opencv,那我们的CMakeList.txt中需要有find_package(OpenCV REQUIRED),他的原理简单来说就是去寻找OpenCVConfig.cmake文件,然后在OpenCVConfig.cmake文件中会指定opencv的库路径和头文件路径,从而你编译的时候也就找到了相应的头文件和库文件。

如果我们不加干预,那么find_package(OpenCV REQUIRED)会在默认路径中寻找OpenCVConfig.cmake,那么如果我们系统默认路径中的opencv版本不是我们想要的,我们自己在某个路径下cmake编译了更高版本的opencv,然后我们工程编译的时候想让cmake去寻找我们自己编译的更高版本的opencv的OpenCVConfig.cmake,那怎么办呢,这时候就要用set(CMAKE_PREFIX_PATH xxx)。

2 set(CMAKE_PREFIX_PATH xxx)

这个其实就是让cmake去我们指定的目录下寻找xxxxConfig.cmake,如果是opencv,那么我们把编译自己版本opencv时的install文件夹路径放到set(CMAKE_PREFIX_PATH  /xxx/xxx/install)即可。这样cmake就会去找到我们自己的 ./install/lib/cmake/opencv4/OpenCVConfig.cmake。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/136712
推荐阅读
相关标签
  

闽ICP备14008679号