如何使用RUST做静态编译,让编译出来的程序不再依赖其他库?

在编译RUST CLI之后,发给客户,如果客户的电脑没有安装相应的依赖,那会运行不了,那如何让RUST程序自带干粮,不依赖这些七七八八的库呢?

如果你用的是RUST GNU版本,那可以直接发给客户,本身就自带了依赖项,不会有问题,本文主要说的是MSVC版本的RUST:

找到 ~/.cargo/config文件,如果没有,请自己创建,然后加入以下代码,就启用静态编译了:

 [target.x86_64-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"]

 

如下:如果用DIE软件来检测出你写出的RUST程序的依赖,加载exe文件后,点Import,发现只依赖系统自带的dll动态链接库,因此客户不用再安装其他dll了。

posted @ 2020-03-23 08:51  chenzhigang  阅读(6851)  评论(0编辑  收藏  举报