CMAKE_DL_LIBS¶
此变量包含一个用于使用 dlopen() 和 dlclose() 函数的动态加载库的名称,或是一组系统库。
此变量的几个示例如下:
dl在大多数类 Unix 系统上。
-lld在 AIX 系统上,CMake 4.2 之前。
dld在 HP-UX 系统上。
- ""
在以下系统上,此变量的值为空字符串或未设置:隐式链接的默认库中包含
dl*()函数的系统(例如,类 BSD 系统、Haiku、macOS、SunOS 等),或者不提供这些函数的系统(例如,Windows)。
示例¶
示例:链接动态加载库¶
在使用了动态加载功能的项目中,使用此变量
target_link_libraries(example PRIVATE ${CMAKE_DL_LIBS})
示例:检查符号¶
在检查过程中,使用链接的动态加载库来检查符号
include(CheckSymbolExists)
include(CMakePushCheckState)
cmake_push_check_state(RESET)
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_DL_LIBS})
check_symbol_exists(dlopen "dlfcn.h" HAVE_DLOPEN)
cmake_pop_check_state()