我想和-lm
联系。现在,我这样做:
let _link_lm = f64::sin(3.0);
我试过把它放在.cargo/config
:
[build]
rustflags = ["-C", "link-args=-lm"]
这不会动态链接库。此外,在构建脚本中使用cargo:rustc-link-lib=m
与调用cargo rustc -- -lm
相同,后者也不起作用。我检查该库是否与ldd
没有关联。
链接库很重要,因为这是一个JIT编译器,它可以通过使用dlsym
获取它们来调用这些函数。
如何在不调用其功能的情况下链接到此库?
事实证明rustc
用-Wl,--as-needed
调用链接器,所以我的解决方案是禁用此选项:
[build]
rustflags = ["-C", "link-arg=-Wl,--no-as-needed", "-C", "link-arg=-lm"]