gpt4 book ai didi

Rust PyO3 与 cc 链接失败

转载 作者:行者123 更新时间:2023-12-02 01:59:47 24 4
gpt4 key购买 nike

我正在使用 Cargo build 编译 pyo3 示例代码。我在最后看到这个错误

ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

其他代码编译良好。仅当我使用 pyo3 时,我才会看到此错误。

我使用的是配备 M1 芯片的 MacBook。我已经安装了 Xcode。Rust 工具链 stable-aarch64-apple-darwin (默认)Python 3.82(arm64)

这就是我如何查看 pyo3 的依赖项

[dependencies.pyo3]
version = "0.14.5"
features = ["extension-module"]

什么对我有用

  1. 将 python 更改为 x86_64,并将 rust 工具链更改为 x86_64。这有效。

还有其他人在使用 Arm Mac 编译 Rust 时遇到问题吗?

这是我正在尝试的示例代码 https://github.com/bedroombuilds/python2rust/tree/main/15_pymod_in_rust/rust/pyo3_monte_carlo_pi

最佳答案

我设法通过将其添加到 Cargo.toml 文件来解决这个问题

[target.x86_64-apple-darwin]
rustflags = [
"-C", "link-arg=-undefined",
"-C", "link-arg=dynamic_lookup",
]

[target.aarch64-apple-darwin]
rustflags = [
"-C", "link-arg=-undefined",
"-C", "link-arg=dynamic_lookup",
]

https://pyo3.rs/master/building_and_distribution.html

关于Rust PyO3 与 cc 链接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69129475/

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