Есть ли способ использовать xbuild вместо build при вызове команд car go -binutils? - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь использовать команды binutils для двоичного файла пользовательской цели сборки с помощью команды cargo xbuild.
Однако я получаю сообщение об ошибке, как показано ниже.

$ cargo nm --target i586-rust_dos.json --bin rust_dos --verbose
"cargo" "build" "--target" "i586-rust_dos.json" "--bin" "rust_dos" "--message-format=json"
   Compiling rust_dos v0.1.0 (/home/soya/Documents/src/rust/prac/rust_dos)
error[E0463]: can't find crate for `core`                                ] 0/2
  |
  = note: the `i586-rust_dos-8410465322435951119` target may not be installed

error: aborting due to previous error

For more information about this error, try `rustc --explain E0463`.
error: could not compile `rust_dos`.

To learn more, run the command again with --verbose.
error: Failed to parse crate metadata

Я понял, что cargo nm использует Команда cargo build,
, поэтому я думаю, что эту ошибку следует устранить, если я заставлю cargo nm использовать cargo xbuild вместо cargo build.

Однако я не могу найти, как это сделать.
Пожалуйста, научите меня, если есть способ.

1 Ответ

0 голосов
/ 20 апреля 2020

Чтобы обнаружить core ящик, построенный с cargo xbuild, мне нужно добавить флаг sysroot в rustflags в .cargo/config. Пример

приведен ниже.

rustflags = ["--sysroot", "/full/path/to/sysroot/directory"]

В целевой директории проекта есть каталог sys root.

Если добавить эти флаги, команды car go -bintuils разрешено использовать, насколько это возможно в моей среде.

...