环境配置
需要rust nightly 版本
rustup default nightly
创建文件(windows)
aarch64-unknown-linux-ohos-clang.cmd
path\to\openharmony\9\native\llvm\bin\clang.exe ^
-target aarch64-linux-ohos ^
--sysroot=path\to\openharmony\9\native\sysroot ^
-D__MUSL__ %*
armv7-unknown-linux-ohos-clang.cmd
path\to\openharmony\9\native\llvm\bin\clang.exe ^
-target arm-linux-ohos ^
--sysroot=path\to\openharmony\9\native\sysroot ^
-D__MUSL__ ^
-march=armv7-a ^
-mfloat-abi=softfp ^
-mtune=generic-armv7-a ^
-mthumb %*
(Linux 类似)
修改~/.cargo/config.toml
添加
[target.aarch64-unknown-linux-ohos]
ar = "path/to/openharmony/9/native/llvm/bin/llvm-ar.exe"
linker = "path/to/aarch64-unknown-linux-ohos-clang.cmd"
[target.armv7-unknown-linux-ohos]
ar = "path/to/openharmony/9/native/llvm/bin/llvm-ar.exe"
linker = "path/to/armv7-unknown-linux-ohos-clang.cmd"
在项目路径构建
cargo build --target aarch64-unknown-linux-ohos -Zbuild-std --release