如何在Cargo命令行指定linker与ar构建x86_64h-apple-darwin标准库
问题描述
我当前的Cargo配置如下:
[target.x86_64h-apple-darwin] linker = "x86_64-apple-darwin14-clang" ar = "x86_64-apple-darwin14-ar"
我希望在以下Cargo命令的<THESE PARAMS>位置指定上述linker和ar参数,用于在脚本中构建x86_64h-apple-darwin架构的标准库:
cargo +nightly build -Z build-std <THESE PARAMS> --target x86_64h-apple-darwin
请问该如何实现?或者是否可以通过环境变量来配置?
解决方案
1. 命令行参数直接替换
直接用--config参数在命令行指定linker和ar,把<THESE PARAMS>替换成以下内容:
--config target.x86_64h-apple-darwin.linker="x86_64-apple-darwin14-clang" --config target.x86_64h-apple-darwin.ar="x86_64-apple-darwin14-ar"
最终完整命令:
cargo +nightly build -Z build-std --config target.x86_64h-apple-darwin.linker="x86_64-apple-darwin14-clang" --config target.x86_64h-apple-darwin.ar="x86_64-apple-darwin14-ar" --target x86_64h-apple-darwin
2. 环境变量配置
Cargo支持通过环境变量指定目标平台的工具链,设置以下两个环境变量(以bash脚本为例):
export CARGO_TARGET_X86_64H_APPLE_DARWIN_LINKER=x86_64-apple-darwin14-clang export CARGO_TARGET_X86_64H_APPLE_DARWIN_AR=x86_64-apple-darwin14-ar
设置完之后直接执行原命令即可,不需要修改<THESE PARAMS>:
cargo +nightly build -Z build-std --target x86_64h-apple-darwin
内容的提问来源于stack exchange,提问作者Evgeny
相关产品推荐
相关产品推荐

