10 个稳定版本
1.0.9 | 2023年7月3日 |
---|---|
1.0.8 | 2022年12月17日 |
1.0.7 | 2022年8月22日 |
1.0.6 | 2021年11月13日 |
1.0.1 | 2020年1月25日 |
#38 in 构建工具
941,169 每月下载量
用于 374 个 crate (22 个直接使用)
9KB
-lstdc++
或 -lc++
此 crate 存在的目的是将 -lstdc++
或 -lc++
传递给链接器,同时使应用程序能够代表其库依赖项做出该选择。
如果没有这个 crate,库将需要
- 选择一个进行链接,下游应用程序无法覆盖此选择;
- 或两者都不链接,并要求下游应用程序提供显式的链接标志,即使它们可以使用默认选择;
这两种情况都不是良好的体验。
选项
如果应用程序或库对链接 libstdc++ 或 libc++ 都没有问题,可以使用平台默认的链接器,应在 Cargo.toml 中使用以下内容
[dependencies]
link-cplusplus = "1.0"
如果应用程序想要链接特定的一个,应使用
[dependencies]
link-cplusplus = { version = "1.0", features = ["libstdc++"] }
# or
link-cplusplus = { version = "1.0", features = ["libc++"] }
如果应用程序想要在构建脚本中处理自己的更复杂的链接标志逻辑,可以通过使用
[dependencies]
link-cplusplus = { version = "1.0", features = ["nothing"] }
最后,请确保在 crate 根目录中添加一个显式的 extern crate
依赖项,因为否则 link-cplusplus crate 将不会被使用,其链接标志也将丢失。
// src/lib.rs
extern crate link_cplusplus;
许可协议
根据您的选择,在以下两者之一下获得许可:Apache 许可协议,版本 2.0 或 MIT 许可协议。除非您明确声明,否则您根据 Apache-2.0 许可协议定义的任何有意提交给本项目并由您包含在内的贡献,将按照上述方式双许可,不附加任何额外条款或条件。
依赖项
~180KB