2
我想提出一个包含项目:如何使用Cargo将库建立为rlib和dylib但内容不同?
- 库
- 绑定对于C
- 使用该库
的目录结构的可执行文件,不包括临时文件和其他垃圾:
.
├── Cargo.toml
├── src
│ ├── c_bindings.rs // contains C bindings for library
│ ├── compression.rs
│ ├── const_data.rs
│ ├── hash.rs
│ ├── lib.rs // library
│ └── main.rs // simple executable that uses library
└── target
└── debug
├── gost_stribog
├── libgost_stribog.rlib
我想要cargo build
做到这一点:
- 构建锈库(rlib)将忽略
c_bindings.rs
- C库(dylib)将使用
c_bindings.rs
- 可执行
调试目录应该是:
└── target
└── debug
├── gost_stribog
├── libgost_stribog.rlib
├── libgost_stribog.so
我的Cargo.toml
应该是什么样子?
@Flowneee RFC states *“工作空间最终可以通过'--all'标志扩展,所以在工作空间的根目录下你可以执行'cargo build --all'来编译所有的箱子”*。但是,在完成之前,您需要切换到每个箱子的目录并运行'cargo build'。一个小小的'Makefile'或shell脚本可能有助于缩小差距,直到实现'--all'。 – Shepmaster