我发现有人说-lm
意味着链接到数学库。
我想通过在终端中使用build-in help
来找出含义。
所以我运行$ clang --help
我找不到与-l
或-m
相关的任何东西
如何通过自助终端了解-lm
的含义?
答案 0 :(得分:1)
-l {name}标志告诉链接器针对lib {name}进行链接。所以-lm链接到c数学库libm。
这不是clang编译器的标志,而是传递给链接器的,这就是为什么您无法使用clang --help
或man clang
找到它的原因。
如果使用--verbose
标志运行clang,则将在最后一步看到链接程序的调用(在我的情况下为/usr/bin/ld
)。
通过运行man ld
或{{1 }}(或您的clang版本使用的任何链接程序),您都可以找到该文档。
请记住,并非所有标志都以这种方式传递给链接器(如melpomene所述,可能传递-l是为了与gcc编译器兼容)。要确保传递了一个选项,请使用clang的ld --help
选项。