You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux交叉编译Rust程序到Windows时出现lld-link无法打开blosc.lib的错误

Linux交叉编译Rust程序到Windows时出现lld-link无法打开blosc.lib的错误

嘿,我之前在Linux上交叉编译Rust到Windows、用到blosc库的时候,也碰到过一模一样的lld-link找不到blosc.lib的问题!折腾了好一阵才搞定,给你分享下我的解决步骤:

  • 先把交叉编译的基础工具准备好,以Debian/Ubuntu为例,安装mingw-w64的工具链:

    sudo apt install gcc-mingw-w64-x86-64
    
  • 给Rust添加Windows的编译目标:

    rustup target add x86_64-pc-windows-gnu
    
  • 在项目根目录创建.cargo/config.toml文件,配置交叉编译的链接器和归档工具:

    [target.x86_64-pc-windows-gnu]
    linker = "x86_64-w64-mingw32-gcc"
    ar = "x86_64-w64-mingw32-ar"
    
    [build]
    target = "x86_64-pc-windows-gnu"
    
  • 设置环境变量,让blosc的C构建脚本使用mingw的编译器:

    export CC_x86_64_pc_windows_gnu=x86_64-w64-mingw32-gcc
    export CXX_x86_64_pc_windows_gnu=x86_64-w64-mingw32-g++
    
  • 调整Cargo.toml里的blosc依赖,开启静态链接特性,这样会自动编译Windows版本的blosc静态库:

    blosc = { version = "0.8", features = ["static"] }
    
  • 最后执行交叉编译命令就行啦:

    cargo build --target x86_64-pc-windows-gnu
    

要是你用的是其他Linux发行版,比如Fedora,记得把安装mingw工具链的命令换成对应的(比如dnf install mingw64-gcc)。另外如果还是有问题,可以检查下环境变量有没有生效,或者试试清理下cargo的缓存(cargo clean)再重新编译。

备注:内容来源于stack exchange,提问作者Jojo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:32:59