为什么我的自定义目标不支持`bin` crate类型?

时间:2016-01-12 22:45:43

标签: rust rust-cargo

我正在使用this博文中定义的自定义目标文件。它在构建静态库时工作得很好,但是当我尝试构建二进制文件时,我得到以下警告:

warning: dropping unsupported crate type `bin` for target `x86_64-unknown-none-gnu`

没有构建二进制文件。

如何添加对目标构建可执行文件的支持?

2 个答案:

答案 0 :(得分:1)

将此条目添加到$(target).json文件会修复它:

"executables": true

答案 1 :(得分:0)

我同意Austin B,在构建none目标或任何自定义目标时,您会遇到一些问题。您可以查看我看到我为gba构建的blog posts

我一直在做的是

#[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{}
}

我声明带有C签名的main函数,然后平台特定的crt.s文件将加载二进制文件并为我调用main。

然后我继续构建为静态库。