Mac M1中的交叉编译 - 为X86_64构建Linux

发布于 2025-02-12 10:44:36 字数 404 浏览 1 评论 0原文

我想构建我的回购的cdylib板条A>在我的Mac M1中。

我的操作是:

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

但是我遇到了一个问题:

=注意:ld:未知选项: - version-script =/var/folder/df/df/1lz9t40n171_5550cy_f1h3c0000gn/t/t/t/t/rustczqz5tv/list clang:错误:链接器命令因出口代码1失败(使用-V查看调用)

如何在Mac M1中构建x86_64 linux linux lib?

I want to build cdylib crate of my repo https://github.com/doki23/prql-java in my mac m1.

My operations are:

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

but I met the problem:

= note: ld: unknown option: --version-script=/var/folders/df/1lz9t40n171_5550cy_f1h3c0000gn/T/rustczqz5TV/list
clang: error: linker command failed with exit code 1 (use -v to see invocation)

How to build a x86_64 linux lib in mac m1?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

百思不得你姐 2025-02-19 10:44:36

您需要配置正确的链接器ar路径:

下行添加到您的$ {home}/。

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

将以 另外,如果有的话,请使用跨工具链的ld而不是clang,例如gcc

假设您想为Android X86_64构建;
将其添加到您的$ {home}/。货物/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"

You need to configure the proper linker and ar paths:

Add the below lines to your ${HOME}/.cargo/config:

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

You can also use the ld of the cross toolchain instead of clang if you have, say gcc.

Assuming that you want to build for android x86_64;
Add this to your ${HOME}/.cargo/config file

[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"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文