У меня есть ящик с двоичным и библиотечным. Библиотека чрезвычайно полезна для зависимостей, в то время как для двоичного файла требуется немного больше, например, загружать файлы или выполнять параллельные действия.
В настоящее время я создаю свой Cargo.toml следующим образом:
[dependencies.kdtree]
path = "../kdtree"
[dependencies]
rand="0.3.0"
rustc-serialize = "0.3"
csv = {git = "https://github.com/BurntSushi/rust-csv.git"}
crossbeam = "0.2"
num_cpus = "0.2"
[lib]
name = "conformal"
path = "src/lib.rs"
[[bin]]
name = "ucitest"
path = "src/bin/main.rs"
Единственными зависимостями, которые необходимы библиотеке, являются kdtree
и rand
. Тем не менее, похоже, что даже если вы только создаете библиотеку, она все равно будет строить зависимые от двоичного кода. Я пробовал использовать features
и другие трюки, например [[bin].dependencies]
или [ucitest-dependencies]
(или добавить строку dependencies= []
под [[bin]]
), которые, как я думал, могут сделать их только для двоичного кода, но я не могу найти путь.
Это недостаточно для зависимостей, чтобы сделать это проблемой, но это беспокоит меня. Есть ли способ сузить зависимости, поэтому они создаются только для определенных двоичных файлов?