< 返回版块

c5soft 发表于 2024-05-07 17:08

Tags:1.78

由于没有阅读1.78的升级说明文档,把一个生产环境的服务程序用1.78编译并发布到服务器上,结果挂了,报“cryptprimaritive,dll调用错误”。看说明才知道1.78支持的系统需要Windows10以上,服务器是Windows Server 2008R2,无法运行。

如何解决?重装服务器的操作系统是不现实的,最简单的办法是将编译环境倒退到1.77.2。以下是相关命令:

rustup toolchain install 1.77.2
rustup toolchain list
rustup default 1.77.2

在开发坏境保留1.78版,增加1.77.2版本,并将1.77.2作为默认开发环境版本

附:1.78升级对操作系统要求变更说明 https://blog.rust-lang.org/2024/02/26/Windows-7.html

评论区

写评论
一路火花带闪电 2024-05-10 17:51

这就是正常的rust版本切换。生产环境不建议用nightly版本。

作者 c5soft 2024-05-09 10:08

好的解决方案。不过目前x86_64-win7-windows-msvc还未达到Tier2的成熟度,估计下一个稳定版会增加这个target。

我心飞翔 2024-05-08 09:47

也可以用 nightly 版本,rustc 已经增加了对 x86_64-win7-windows-msvc 的 target 的支持 编译方式修改为: cargo build --release -Z build-std --target x86_64-win7-windows-msvc 或者 i686-win7-windows-msvc 需要先安装 rust-src

bestgopher 2024-05-07 17:57

您这是自问自答啊

1 共 4 条评论, 1 页