如何在64位windows上编译32位的RUST程序?

1.找到x86对应的msvc的linker路径,例如笔者安装的是msvc 2017,默认安装路径为:

C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\Hostx86\\x86\\link.exe

2.在~/.cargo/config中加入以下行(注意第2行的意思是静态编译,这样编译出来的程序没有依赖,客户不用再在电脑上安装相应的依赖):

[target.i686-pc-windows-msvc]
rustflags = ["-C", "target-feature=+crt-static"]
linker = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\Hostx86\\x86\\link.exe"

3.在使用cargo进行编译时,使用参数:--target=i686-pc-windows-msvc

例如: cargo build --release --target=i686-pc-windows-msvc

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