Mar*_*son 28 compiler-errors pkg-config cross-compiling rust
当我尝试交叉编译一些 Rust 时,出现此错误;有谁知道我应该做什么?
当我运行 Cargo build --target aarch64 时会发生这种情况,我得到:
Compiling glib-sys v0.10.1
error: failed to run custom build command for `glib-sys v0.10.1`
...
pkg-config has not been configured to support cross-compilation.
Install a sysroot for the target platform and configure it via
PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_PATH, or install a
cross-compiling wrapper for pkg-config and set it via
PKG_CONFIG environment variable.
Run Code Online (Sandbox Code Playgroud)
我可能在一年前就问过这个问题,但无论如何我找不到任何答案。我尝试在 Cargo.toml 中添加各种行,但似乎没有任何帮助。
Cargo.toml 的相关部分有:
[target.'cfg(target_os = "android")'.dependencies]
cairo = "0.0.4"
freetype = "0.7.0"
glib = "0.14.2"
openssl = "0.10.36"
openssl-sys = {version = "0.9.66", features = ["vendored"]}
Run Code Online (Sandbox Code Playgroud)
对此可能有一个简单的答案;谁能帮助我吗?
小智 16
您可以尝试vendored为 openssl crate 添加功能。
openssl = { version = "0.10.35", features = ["vendored"] }
Run Code Online (Sandbox Code Playgroud)
小智 9
我也是生锈的新手,所以我的回答可能有一些错误。
因此,警告表明 pkg-config 未正确设置,这表明这不是 rust 问题,而是 pkg-config 问题。
如果您检查 pkg-config 的文档,您可能会看到有一个名为PKG_CONFIG_SYSROOT_DIR“对于交叉编译有用”的环境变量。您需要做的是使用此环境集运行货物,例如PKG_CONFIG_SYSROOT_DIR=/usr/x86_64-w64-mingw32/ cargo build,其中/usr/x86_64-w64-mingw32包含 Windows 交叉构建所需的所有文件(从名称中可以看出)。
我不知道如何交叉编译aarch64,也不知道如何添加环境变量cargo build,但我希望我上面的经验可以给你一些提示。
| 归档时间: |
|
| 查看次数: |
14793 次 |
| 最近记录: |