如何使用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了。