Почему моя пользовательская цель не поддерживает тип ящика `bin`?
Я использую пользовательский целевой файл, определенный в этой записи блога. Он прекрасно работает при сборке статических библиотек, однако, когда я пытаюсь создать двоичный файл вместо этого, я получаю следующее предупреждение:
warning: dropping unsupported crate type `bin` for target `x86_64-unknown-none-gnu`
Двоичные файлы не создаются.
Как добавить поддержку для создания исполняемых файлов для моей цели?
2 ответа
Добавление этой записи в $(target).json
файл исправляет это:
"executables": true
Я согласен с Остином Б., вы столкнетесь с некоторыми проблемами при создании none
цель, или любая другая цель. Вы можете проверить мои сообщения в блоге, где вы видите, как я строю для gba.
То, что я делал, это
#[no_mangle]
pub extern "C" fn main(_: i32, _: *const *const i8) -> i32 {
let mut m = gfx::Mode3::new();
m.dot(120, 80, Color::rgb15(31, 0, 0));
m.dot(136, 80, Color::rgb15(0, 31, 0));
m.dot(120, 96, Color::rgb15(0, 0, 31));
loop{}
}
где я объявляю main
функция с сигнатурой C, то платформа crt.s
файлы загрузят двоичный файл и вызовут main для меня.
Затем я продолжаю строить как статическую библиотеку.