CMake变量:CMAKE_FIND_LIBRARY_SUFFIXES

CMAKE_FIND_LIBRARY_SUFFIXES是CMake中的一个变量,用于指定在查找库文件时使用的后缀列表。当CMake需要找到库文件时,它会尝试在这些后缀后添加库名来构建库文件的完整路径。例如,如果库名为mylib,并且CMAKE_FIND_LIBRARY_SUFFIXES设置为.so;.a,那么CMake会尝试查找mylib.so和mylib.a。

这个变量通常在find_library命令中使用,例如:

cmake 复制代码
find_library(MYLIB_LIBRARY mylib HINTS /path/to/libs)

在这个例子中,CMake会在/path/to/libs目录下查找名为mylib.so或mylib.a的库文件。

如果没有设置CMAKE_FIND_LIBRARY_SUFFIXES,CMake会使用默认的后缀列表,这取决于平台和编译器。例如,在Linux上,默认的后缀列表可能包括.so、.a、.sl等。在Windows上,默认的后缀列表可能包括.dll、.lib等。

你可以通过以下方式自定义CMAKE_FIND_LIBRARY_SUFFIXES:

cmake 复制代码
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib")

这将使得CMake只在指定的后缀(在这个例子中是.dylib)后查找库文件。

相关推荐
行者-全栈开发1 天前
【鸿蒙心迹】三方库移植(二)——CMake 交叉编译与符号冲突排查实录(HarmonyOS 7.x)
harmonyos·cmake·交叉编译·三方库移植·ohos·符号冲突
骑着蜗牛撵大象3276 天前
大模型 SDK 编译就崩?用 CMakeLists 把 httplib、JSON 与 OpenSSL 装配成可复用的 ChatServer
android·java·c++·http·json·cmake·大模型sdk
把我格子衫拿来17 天前
VTK 与 Qt 的 CMake 工程怎么组织?模块、工具链与二进制兼容排错
c++·qt·vtk·cmake·工程实践
JMchen23 天前
集成第三方 C/C++ 库到 Android NDK 项目:OpenCV 与 FFmpeg 实战指南
android·opencv·cmake
阿钱真强道1 个月前
15 嵌入式操作系统 | 库的下载、编译、安装与验证(libubox / ubus / uci)
ubuntu·cmake·uci·ubus·libubox
阿钱真强道1 个月前
22 嵌入式操作系统 | 串口命令行调试(socat / stty / printf / hexdump)
ubuntu·cmake·uci·ubus·libubox
五_谷_丰_登2 个月前
cmake脚本学习——持续更新
脚本·cmake
程序员老陆2 个月前
CMake 常用关键字与命令全景:从 set到 target_link_options的现代工程视角
c++·cmake·程序开发
idealzouhu2 个月前
现代 CMake 依赖管理详解:从构建树、Target 封装到 find_package 工作原理
c++·cmake
小王C语言2 个月前
cmake教程
c++·cmake