2022
我们一起努力

如何设置cmake_prefix_path路径?

如何设置cmake_prefix_path路径?

很多开发者在使用 CMake 进行项目开发时需要使用到依赖库,而有时这些依赖库会安装在一些非标准路径下面,为方便处理人员统一管理,通常我们会将这些依赖库设置在一个路径下,而 CMake 也提供了相关的设置选项 -DCMAKE_PREFIX_PATH 来进行指定。在本文中,我们将介绍如何设置 CMake 的 prefix path 路径。

什么是 CMake PREFIX path?

从字面意思理解:CMake Prefix Path 即 CMake 的前缀路径,这个前缀会为 CMake 提供一些额外的搜索路径,以便于程序在编译、链接或运行时去定位库或包,从而使得依赖库的查找变得更加简单方便。

如何设置 CMake PREFIX path?

在 Linux & Mac OS X 系统上可以通过命令行参数 -DCMAKE_PREFIX_PATH 来设置;而在 Windows 平台中可以通过 CMake GUI 工具来配置。

1. Linux & Mac OS X 系统上的 CMAKE_PREFIX_PATH 参数

Linux & Mac OS X 系统上设置 CMAKE_PREFIX_PATH 参数比较简单,我们在通过 cmake 命令操作时,只需要在命令行添加 -DCMAKE_PREFIX_PATH 指定对应的前缀路径即可。

例如,我们使用以下命令来编译一个包含了 Boost 库的程序:

“`
$ cmake -DCMAKE_PREFIX_PATH=/usr/local/opt/boost .
$ make
“`

其中 /usr/local/opt/boost 是 Boost 库的路径,. 表示当前路径,即 CMakeList.txt 所在的路径。CMAKE_PREFIX_PATH 的值可以是多个路径,以 ; 分隔。例如:

“`
$ cmake -DCMAKE_PREFIX_PATH=/opt/qt;/usr/local/opt/boost .
“`

2. Windows 系统上的 CMAKE_PREFIX_PATH 配置

在 Windows 上,CMake 提供了一个 GUI 工具来配置 CMAKE_PREFIX_PATH。打开 CMake GUI 工具后,在 Step2 中,点击 Add Entry,添加一条名为 CMAKE_PREFIX_PATH 的标记,然后在 Value 字段中输入需要添加的路径,然后点击 Configure 按钮进行配置。

![CMake GUI 配置图片][1]

3 运行时使用CMAKE_PREFIX_PATH

设置好 CMAKE_PREFIX_PATH 后,可以使用 find_package 函数来查找对应的库或包。查找函数的调用结构为:find_package( [version] [EXACT] [QUIET] [MODULE] [REQUIRED] [[COMPONENTS] [components…]])

例如,在 cmake 脚本中使用 Qt 库,查找函数可以写成如下的形式:

“`
find_package(Qt5 COMPONENTS Core REQUIRED)
“`

在这个例子中,CMake 就会按照 CMAKE_PREFIX_PATH 中指定的路径去寻找 Qt5Core 库,并将找到的路径配置到 CMake 的变量中。如果找不到库则 CMake 抛出错误。

总结

在实际的项目开发中,由于各种依赖库的存在,CMake Prefix Path 的作用就会变得显得格外重要,熟练掌握如何设置 CMAKE_PREFIX_PATH 参数,将会大大提高项目的开发效率,因此,程序员应该熟练掌握这种设置,并从中获得便利和效益。

[1]: https://careerhelper.in/wp-content/uploads/2019/09/CMake-GUI-Configuring-CMAKE_PREFIX_PATH.png

赞(0)
文章名称:《如何设置cmake_prefix_path路径?》
文章链接:https://www.fzvps.com/42067.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!