如何链接C库而不调用其中一个函数?

问题描述 投票:0回答:1

我想和-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获取它们来调用这些函数。

如何在不调用其功能的情况下链接到此库?

rust linker ffi
1个回答
1
投票

事实证明rustc-Wl,--as-needed调用链接器,所以我的解决方案是禁用此选项:

[build]
rustflags = ["-C", "link-arg=-Wl,--no-as-needed", "-C", "link-arg=-lm"]
© www.soinside.com 2019 - 2024. All rights reserved.