gpt4 book ai didi

rust - 从Rust为机器类型wasm32构建LLVM

转载 作者:行者123 更新时间:2023-12-03 11:39:56 25 4
gpt4 key购买 nike

我正在尝试建立一个业余项目,在其中建立WebAssembly的Rust文件。我想传递更多选项来脚本化,然后Rustc和 cargo 似乎允许我使用(例如MINIMAL_RUNTIME,ENVIRONMENT和INVOKE_RUN)。

我有一个“精采”的想法,将Rust编译为llvm,然后将该llvm文件提供给脚本,以便可以使用编译器选项。但是,当我尝试构建WebAssembly时,出现错误“机器类型必须为wasm32”。

这是我要构建的文件:

fn main() {
println!("Hello World!");
}

这就是我试图构建的方式:
rustc --emit=llvm-ir test.rs
emcc test.ll -O0 -s WASM=1

知道我在做什么错吗? (或者我可以实现目标的另一种方式?)

最佳答案

h,我需要添加一个目标选项:

rustc --emit=llvm-ir --target wasm32-unknown-unknown test.rs
emcc test.ll -O0 -s WASM=1 -s ERROR_ON_UNDEFINED_SYMBOLS=0

当然,这现在给我留下了“未知符号”错误... -sigh-

编辑:实际上,我应该做的是在rustc上使用-C标志将参数直接传递给emcc,这是我首先要做的:
rustc --target wasm32-unknown-unknown -C link-arg="-s MINIMAL_RUNTIME=1" -C link-arg="-s INVOKE_RUN=0" test.rs

关于rust - 从Rust为机器类型wasm32构建LLVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60206455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com