rust更新后编译的exe文件执行报错

好久没有写rust代码,今天更新了rust的版本,发现编译后怎么也运行不起来,报如下错误:

复制代码
无法运行: 指定的可执行文件不是此操作系统平台的有效应用程序。所在位置 行:1 字符: 1

目前看是编译平台不匹配,但目前看系统win10且是64位没有问题,并且之前都是可以运行的,查看一下当前环境

rustc -vV

查看默认目标(如 x86_64-pc-windows-msvc

可以使用以下命令查看环境信息:

复制代码
# 查看rustc版本
rustc --version

# 显示当前安装的工具链信息
rustup show
# 检查安装更新
rustup update
# 卸载
rustup self uninstall
# 设置当前默认工具链
rustup default stable-x86_64-pc-windows-gnu
# 查看帮助
rustup -h

# -------------------------->配置工具链
# 查看工具链
rustup toolchain list
# 安装工具链
rustup toolchain install stable-x86_64-pc-windows-gnu
# 卸载工具链
rustup toolchain uninstall stable-x86_64-pc-windows-gnu
# 设置自定义工具链
rustup toolchain link <toolchain-name> "<toolchain-path>"

# -------------------------->配置一个目录以及其子目录的默认工具链
# 查看已设置的默认工具链
rustup override list
# 设置该目录以及其子目录的默认工具链
rustup override set <toolchain> --path <path>
# 取消目录以及其子目录的默认工具链
rustup override unset --path <path>

# -------------------------->配置工具链的可用目标
# 查看目标列表
rustup target list
# 安装目标
rustup target add <target>
# 卸载目标
rustup target remove <target>
# 为特定工具链安装目标
rustup target add --toolchain <toolchain> <target>

# -------------------------->配置 rustup 安装的组件
# 查看可用组件
rustup component list
# 安装组件
rustup component add <component>
# 卸载组件
rustup component remove <component>

确认过环境没有问题,又去查了以下chatGPT发现以下问题:

chatgpt并没有给出解决方案,只给了可能出问题的原因,如上图第三个问题:跨平台编译错误,它给出的是非linux跨平台编译,而是使用微软的编译器,担是我原来使用的就是wingw64不想使用微软的,于是确定了跨平台编译问题,刚跟新的rust因该是没有问题的,问题就是wingw64版本低的原因引起,当前wingw64中的gcc版本位8.3是几年前的版本,与新版的rustc编译时不兼容。

解决下载最新的MinGW-w64,地址:Releases · niXman/mingw-builds-binaries

选择倒数第一个支持win10和11,倒数第二个是老系统,下载后直接解压,然后设置环境变量,查看gcc版本已经是否是wingW64版本,完成后打开vscode编译运行,没有再报错。

相关推荐
AllFiles14 分钟前
Kubernetes PVC 扩容全流程实战:从原理到操作详解
后端·kubernetes
AllFiles21 分钟前
Linux 网络故障排查:如何诊断与解决 ARP 缓存溢出问题
linux·后端
꧁Q༒ོγ꧂22 分钟前
算法详解(三)--递归与分治
开发语言·c++·算法·排序算法
ganshenml28 分钟前
【Android】 开发四角版本全解析:AS、AGP、Gradle 与 JDK 的配套关系
android·java·开发语言
我命由我1234529 分钟前
Kotlin 运算符 - == 运算符与 === 运算符
android·java·开发语言·java-ee·kotlin·android studio·android-studio
少云清30 分钟前
【接口测试】3_Dubbo接口 _Telnet或python远程调用Dubbo接口
开发语言·python·dubbo·接口测试
盒子691033 分钟前
【golang】替换 ioutil.ReadAll 为 io.ReadAll 性能会下降吗
开发语言·后端·golang
Aeside136 分钟前
揭秘 Nginx 百万并发基石:Reactor 架构与 Epoll 底层原理
后端·设计模式
alonewolf_9939 分钟前
Java类加载机制深度解析:从双亲委派到热加载实战
java·开发语言
追梦者12340 分钟前
springboot整合minio
java·spring boot·后端