У меня есть два предложения.
Если мы посмотрим на документацию , есть опция link-arg
для передачи одного аргумента и link-args
для передачи нескольких аргументов. Поскольку link-args
существует, а do c указывает, что аргументы должны быть разделены пробелами, возможно, вам следует использовать ... link-args="-s MINIMAL_RUNTIME=1"
, или даже ... -C link-arg="-s" -C link-arg="MINIMAL_RUNTIME=1" ...
Хотя это не пробовали.
Во-вторых, там похоже, это старый способ передачи аргументов компоновщику указанного c компилятора в соответствии с этим post . Вы можете создать оболочку вокруг компилятора emcc
, создав в папке проекта файл с именем emcc_sdl
, который содержит:
emcc "-s" "MINIMAL_RUNTIME=1" "-s" "ENVIRONMENT=web" "-s" "LEGACY_VM_SUPPORT=1" $@
Сделать его исполняемым:
> chmod +x emcc_sdl
Создать или отредактируйте файл .cargo/config
и добавьте:
[target.wasm32-unknown-emscripten]
linker = "/project_dir/project_name/emcc_sdl"
[target.asmjs-unknown-emscripten]
linker = "/project_dir/project_name/emcc_sdl"
Вы должны быть в состоянии построить, используя:
rustc demo.rs --target asmjs-unknown-emscripten -C opt-level=0 -o ../../build/bytecode/demo.asm.js
Надеюсь, это поможет.