Rust 编译出来的exe默认动态链接VC运行库,分发电脑上需要安装有Microsoft Visual C++ Redistributable for Visual Studio 2015运行库。
编译时能静态链接进去,就省去客户端未安装运行库的问题。方法如下:
只需在当前根目录下新建.cargo\config.toml,写入以下设置
目录结构
- ├── .cargo
- │ └── config.toml
- ├── Cargo.lock
- ├── Cargo.toml
- └── src
- └── main.rs
复制代码 .cargo\config.toml
- [target.'cfg(all(windows, target_env = "msvc"))']
- rustflags = ["-C", "target-feature=+crt-static"]
复制代码 测试代码main.rs
- use windows::{core::h, Win32::UI::WindowsAndMessaging::{MessageBoxW, MB_OK}};
- fn main() {
- unsafe{
- MessageBoxW(None, h!("Demo"), h!("自带vcruntime140.dll"), MB_OK);
- }
- }
复制代码 Cargo.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结果
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |