cmake中find_library查找的路径

在CMake中,find_library 命令用于查找库文件。默认情况下,find_library 会在以下路径中搜索库文件:

  1. 环境变量指定的路径

    • CMAKE_LIBRARY_PATH: 这是一个CMake特定的环境变量,可以手动设置来指定查找库的路径。
    • LIBRARY_PATH: 这是一个系统环境变量,通常由操作系统和编译器使用。
  2. 标准目录

    • 编译器的标准库目录(如 /usr/lib, /usr/local/lib 等)。
  3. 项目目录

    • CMake脚本所在的目录及其子目录。
  4. 链接器搜索路径

    • 编译器的默认链接器搜索路径。

示例

假设你有一个名为 mylib 的库,并且你知道它位于 /path/to/libs 目录下,你可以使用 CMAKE_LIBRARY_PATH 环境变量来指定这个路径:

export CMAKE_LIBRARY_PATH=/path/to/libs
cmake ..

或者,你可以在CMakeLists.txt文件中直接设置:

set(CMAKE_LIBRARY_PATH "/path/to/libs")

自定义查找路径

如果你希望在特定目录中查找库,可以使用 HINTS 参数或 PATHS 参数来指定查找路径。例如:

find_library(MYLIB mylib PATHS /custom/path/to/libs)

使用 HINTS 参数

HINTS 参数允许你提供一些提示路径,CMake会优先在这些路径中查找库:

find_library(MYLIB mylib HINTS /custom/path/to/libs)

使用 PATHS 参数

PATHS 参数允许你指定多个查找路径,CMake会依次在这些路径中查找库:

find_library(MYLIB mylib PATHS /custom/path/to/libs1 /custom/path/to/libs2)

完整示例

假设你有一个库文件 mylib.so,并且它位于 /custom/path/to/libs 目录下,你的CMakeLists.txt文件可能如下所示:

cmake_minimum_required(VERSION 3.0)
project(MyProject)

# 设置查找库的路径
set(CMAKE_LIBRARY_PATH "/custom/path/to/libs")

# 查找库
find_library(MYLIB mylib)

# 添加可执行文件
add_executable(MyExec main.cpp)
target_link_libraries(MyExec ${MYLIB})

通过上述配置,CMake将在指定的路径中查找 mylib 库,并在找到后将其链接到目标可执行文件 MyExec

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值