交叉编译在mac m1 -构建为x86_64 linux



我想在我的mac m1中构建我的repo https://github.com/doki23/prql-java的cdylib crate .

操作如下:

rustup target add x86_64-unknown-linux-gnu
cargo build --target x86_64-unknown-linux-gnu

但是我遇到了问题:

= note: ld: unknown option:——version-script=/var/folders/df/1lz9t40n171_5550cy_f1h3c0000gn/T/rustczqz5TV/listClang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

如何在mac m1中构建x86_64 linux库?

需要配置正确的linkerar路径:

将以下行添加到您的${HOME}/.cargo/config:

[target.x86_64-unknown-linux-gnu]
ar = "[PATH_TO_CROSS_TOOLCHAIN]/bin/ar"
linker = "[PATH_TO_CROSS_TOOLCHAIN]/bin/clang"

你也可以使用ld的交叉工具链代替clang,如果你有,说gcc

假设你想为androidx86_64构建;将此添加到您的${HOME}/.cargo/config文件

[target.x86_64-linux-android]
ar = "${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/darwin-x86_64/bin/x86_64-linux-android-ar"
linker = "/${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/darwin-x86_64/bin/x86_64-linux-android28-clang"

最新更新