为什么我的自定义目标不支持 `bin` crate 类型?
Why does my custom target not support the `bin` crate type?
我正在使用 this 博客 post 中定义的自定义目标文件。它在构建静态库时工作得很好,但是当我尝试构建二进制文件时,我收到以下警告:
warning: dropping unsupported crate type `bin` for target `x86_64-unknown-none-gnu`
没有构建二进制文件。
如何为我的目标添加构建可执行文件的支持?
我同意 Austin B 的观点,在为 none
目标或任何自定义目标构建时,您将 运行 遇到一些问题。你可以查看我的blog posts,在那里你看到我在为 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{}
}
我在这里声明了一个带有 C 签名的 main
函数,然后平台特定的 crt.s
文件将加载二进制文件并为我调用 main。
那我继续构建成静态库
将此条目添加到 $(target).json
文件可以修复它:
"executables": true
我正在使用 this 博客 post 中定义的自定义目标文件。它在构建静态库时工作得很好,但是当我尝试构建二进制文件时,我收到以下警告:
warning: dropping unsupported crate type `bin` for target `x86_64-unknown-none-gnu`
没有构建二进制文件。
如何为我的目标添加构建可执行文件的支持?
我同意 Austin B 的观点,在为 none
目标或任何自定义目标构建时,您将 运行 遇到一些问题。你可以查看我的blog posts,在那里你看到我在为 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{}
}
我在这里声明了一个带有 C 签名的 main
函数,然后平台特定的 crt.s
文件将加载二进制文件并为我调用 main。
那我继续构建成静态库
将此条目添加到 $(target).json
文件可以修复它:
"executables": true