跳到主要内容

CMake 情景速查

按常见需求快速查写法。

如何链接数学库(libm)

C 的 sqrt 等数学函数在 libm 中,需要显式链接。若只写:

add_executable(go_sqrt main.c)

可能得到:

undefined reference to `sqrt'

add_executable 之后 添加:

target_link_libraries(go_sqrt PRIVATE m)

第一个参数为你的目标名,请按实际修改;target_link_libraries 必须写在对应 add_executable 之后。

示例项目可参考:getiot/cmake-demo/link-math

小结

更多“如何做”可查阅 CMake 最佳实践CMake 错误解决;也可在官方文档中搜索对应命令或变量。

阿基米东
📝 作者:阿基米东

GetIoT.tech 创始人,独立开发者,Linux 重度用户,开源软件作者,创业者,INTJ