如何在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