#rust #rust-cargo
#Ржавчина #rust-cargo
Вопрос:
У меня есть похожая структура в моем проекте. Я хочу построить проект функционально. example1/main
и example1/test
это две особенности этого проекта. Я не могу изменить структуру.
example
----example1
¦ -----main
¦ ¦ Cargo.toml
¦ ¦
¦ ---src
¦ ¦
¦ -----test
¦ ¦ Cargo.toml
¦ ¦
¦ ---src
¦
¦ Cargo.toml
Основной манифест./Cargo.toml:
[profile.release]
panic = 'unwind'
[workspace]
members = [
'example1/main',
'example1/test',
]
Манифест рабочей области ./example1/main/Cargo.toml:
[package]
name = 'main'
version = '2.0.0'
Когда я выполняю cargo build --features main
или cargo build --features test
, я получаю сообщение об ошибке ниже
error: --features is not allowed in the root of a virtual workspace
note: while this was previously accepted, it didn't actually do anything
Может кто-нибудь, пожалуйста, помочь мне исправить это? Пожалуйста, дайте мне знать, какую конфигурацию мне не хватает в корневом файле cargo.toml.
Комментарии:
1. вместо того, чтобы использовать
--feature
which для функций cargo, попробуйте использовать-p main
. doc.rust-lang.org/book/ch14-03-cargo-workspaces.html2.
--feature
нужно ли указывать, с какими функциями создавать проект, а не с каким проектом на самом деле строить. Вместо этого вы можете использовать-p
флаг, как рекомендует Prime_Aqasix, илиcd
в соответствующий основной / тестовый каталог и просто запуститьcargo build
для сборки проекта в текущем рабочем каталоге3. @Prime_Aqasix Я только что обновил свой вопрос. main и test — две особенности этого проекта.
4. @Sonu когда вы говорите «функции», вы имеете в виду в отношении Rust или в общем смысле? Потому что структура вашего проекта показывает, что это два разных ящика.
5. @vallentin это два разных ящика.