Rust Windows下编译 静态链接VCRuntime140.dll

Rust 编译出来的exe默认动态链接VC运行库,分发电脑上需要安装有Microsoft Visual C++ Redistributable for Visual Studio 2015运行库。

编译时能静态链接进去,就省去客户端未安装运行库的问题。方法如下:

只需在当前根目录下新建.cargo\config.toml,写入以下配置

目录结构

bash 复制代码
├── .cargo
│   └── config.toml
├── Cargo.lock
├── Cargo.toml
└── src
    └── main.rs

.cargo\config.toml

toml 复制代码
[target.'cfg(all(windows, target_env = "msvc"))']
rustflags = ["-C", "target-feature=+crt-static"]

测试代码main.rs

rust 复制代码
use windows::{core::h, Win32::UI::WindowsAndMessaging::{MessageBoxW, MB_OK}};

fn main() {
    unsafe{
        MessageBoxW(None, h!("Demo"), h!("自带vcruntime140.dll"), MB_OK);
    }
}

Cargo.toml

toml 复制代码
[package]
name = "rust_vc_runtime"
version = "0.1.0"
edition = "2021"

[dependencies.windows]
version = "0.58.0"
features = [
    "Win32_UI_WindowsAndMessaging",
    "Win32_UI_Shell"
]

添加.cargo\config.toml和未添加.cargo\config.toml结果

相关推荐
向你扔鸡爪3 小时前
29912分页
汇编·windows
Zlb22148 小时前
Windows下使用qemu
windows
许野平10 小时前
Rust 编译器使用的 C++ 编译器吗?
c++·rust
怪我冷i10 小时前
Rust GUI框架Tauri V1 入门
rust
新知图书10 小时前
Rust的常量
算法·机器学习·rust
白总Server10 小时前
php语言基本语法
开发语言·ide·后端·golang·rust·github·php
前行中的小猪12 小时前
如何让Windows控制台窗口不接受鼠标点击(禁用鼠标输入)
windows·控制台·cmd·禁止鼠标输入
爱里承欢。13 小时前
【python - 数据】
开发语言·windows·python
金灰15 小时前
wx小程序渗透思路
网络·windows·安全·小程序·notepad++
凄凄迷人15 小时前
前端基于Rust实现的Wasm进行图片压缩的技术文档
前端·rust·wasm·图片压缩