【发布时间】:2017-10-25 11:05:46
【问题描述】:
我有一个 Rust 项目,我想将它作为 dylib 嵌入到另一个应用程序中。我在Cargo.toml 中设置了crate_type = ["dylib"],但我不确定这是否应该改为cdylib。
当我构建项目时,它会按预期在target/debug 中生成libfoo.dylib,但查看otool -L 它还会链接到target/debug/deps/ 中的libfoo.dylib。如果我要在另一个应用程序中使用它,我是否必须提供两个 dylib?
此外,当 crate 类型为 cdylib 时,它也会生成两个 dylib,但 deps 中的一个将在文件名的末尾添加一个哈希。我不确定这两种箱子类型有什么区别。
我可以通过只使用 rustc 来避免获得两个 dylib,但是我想使用 cargo。将 Rust 作为 dylib 嵌入其他应用程序的推荐方法是什么?
如果这很重要的话,我会在 macOS 10.12 上使用 Rust
【问题讨论】:
标签: macos rust embed dylib rust-cargo