我正在使用CMake 教程学习 CMake ,发现了一些我不清楚的东西:
include(CheckSymbolExists)
set(CMAKE_REQUIRED_LIBRARIES "m")
Run Code Online (Sandbox Code Playgroud)
那么什么是CheckSymbolExists?它是一个函数还是一个库?“m”是什么意思?它是否意味着一个库名称或某个标志?
我曾尝试阅读 cmake 文档,但我就是不明白。请有人帮助我理解这些。
小智 9
首先,set(CMAKE_REQUIRED_LIBRARIES "m")包括数学库。您可以在命令行上执行相同的操作,如下所示:gcc test.c -lm其中包括库 libm.so/.dll
CheckSymbolExists是一个提供更多功能的 CMake 模块。您可以将其包含在include(CheckSymbolExists)
之后,您可以使用 CMake 中的函数check_symbol_exists(...)来检查头文件中符号的可用性。
本教程中的具体示例:
check_symbol_exists(log "math.h" HAVE_LOG)检查头文件 math.h 是否有一个名为 log 的符号(可以是函数、常量或其他)。如果有,则 CMake 变量 HAVE_LOG 设置为 1,否则设置为 0。
| 归档时间: |
|
| 查看次数: |
2948 次 |
| 最近记录: |