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编译运行,没有再报错。

相关推荐
永远不会的CC1 分钟前
浙江华昱欣实习(4月23日~ 4月19日)
后端·学习
winner88815 分钟前
从零吃透C++命名空间、std、#include、string、vector
java·开发语言·c++
AI人工智能+电脑小能手13 分钟前
【大白话说Java面试题】【Java基础篇】第26题:Java的抽象类和接口有哪些区别
java·开发语言·面试
bzmK1DTbd22 分钟前
SOLID原则在Java中的实践:单一职责与开闭原则
java·开发语言·开闭原则
AI进化营-智能译站25 分钟前
ROS2 C++开发系列07-高效构建机器人决策逻辑,运算符与控制流实战
开发语言·c++·ai·机器人
winner888127 分钟前
C++ 命名空间、虚函数、抽象类、protected 权限全套通俗易懂精讲(附与 Java 对比)
java·开发语言·c++
不会编程的懒洋洋37 分钟前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke
直奔標竿38 分钟前
Java开发者AI转型第二十五课!Spring AI 个人知识库实战(四)——RAG来源追溯落地,拒绝AI幻觉
java·开发语言·人工智能·spring boot·后端·spring
嘟嘟MD38 分钟前
程序员副业 | 2026年4月复盘
后端·创业
时空系1 小时前
认识Rust——我的第一个程序 Rust中文编程
开发语言·后端·rust