Windows下Cargo无法找到MSVC链接器问题求助
问题解决方法
1. 确认Rust的MSVC工具链配置
打开PowerShell执行:rustup show
检查输出中是否包含对应架构的MSVC目标(比如x86_64-pc-windows-msvc)。如果没有,执行以下命令安装并设置为默认:rustup toolchain install stable-msvcrustup default stable-msvc
2. 移除lld链接器的强制配置
报错提到找不到C:/usr/local/bin/lld,说明Rust被配置为优先使用lld而非默认的link.exe。检查以下文件:
- 用户目录下的
C:\Users\<你的用户名>\.cargo\config.toml - 项目根目录下的
Cargo.toml
如果存在类似以下的配置段,直接删除即可恢复默认的link.exe链接:
[target.x86_64-pc-windows-msvc] linker = "lld"
3. 加载完整的VS开发环境变量
即使手动添加了link.exe的路径,MSVC工具链还需要INCLUDE、LIB等完整环境变量支持。可以通过两种方式加载:
- 打开Visual Studio开发人员命令提示符(开始菜单搜索对应名称),在该窗口内执行
cargo run -r - 在PowerShell中执行VS环境加载脚本(路径根据你的VS版本和安装位置调整):
& "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\Launch-VsDevShell.ps1"
4. 验证环境完整性
在PowerShell中执行link /?,确认能正常输出帮助信息。再执行echo $env:LIB和echo $env:INCLUDE,检查输出是否包含VS的库文件和头文件路径。如果为空,说明环境变量未加载完全,需使用上述VS开发命令行窗口执行编译。
内容的提问来源于stack exchange,提问作者Frank Weslien
相关产品推荐
相关产品推荐

