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

如何让Rust程序在Windows系统下实现自包含运行?

解决Rust Windows程序缺失DLL的自包含编译方案

默认cargo build --release编译的Rust程序会依赖Windows的VC运行时DLL,导致在未安装VC运行库的机器上无法运行,按以下步骤就能生成完全自包含的可执行文件:

  • 静态链接C运行时库
    在项目根目录的Cargo.toml里添加或修改profile.release配置块:

    [profile.release]
    rustflags = ["-C", "target-feature=+crt-static"]
    

    这个配置会强制Rust编译器静态链接MSVC的C运行时组件,彻底摆脱对vcruntime140.dll、msvcp140.dll这类动态库的依赖。

  • 适配不同架构编译
    如果要编译32位(x86)版本的程序,先安装对应目标:

    rustup target add i686-pc-windows-msvc
    

    然后指定目标编译:

    cargo build --release --target=i686-pc-windows-msvc
    

    64位版本直接执行cargo build --release即可。

  • 验证依赖是否清理干净
    用Windows自带的dumpbin工具检查编译后的程序:

    dumpbin /dependents target/release/你的程序名.exe
    

    如果输出里没有VC++相关的DLL,就说明自包含配置生效了。

  • 第三方库的特殊处理
    要是你用到了第三方Rust库,部分FFI绑定的库可能本身依赖动态链接的系统组件,这时候得去查看对应库的文档,调整编译参数确保它也用静态链接方式构建。

内容的提问来源于stack exchange,提问作者TomC

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 13:52:02