目录
1 find_package(xxx REQUIRED)
2 set(CMAKE_PREFIX_PATH xxx)
1 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)。文章来源:https://www.toymoban.com/news/detail-603961.html
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。文章来源地址https://www.toymoban.com/news/detail-603961.html
到了这里,关于cmake中的find_package(xxx REQUIRED)与set(CMAKE_PREFIX_PATH xxx)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!