0

0

Rust: win10环境如何编译bevy?

星夢妙者

星夢妙者

发布时间:2025-07-11 08:00:31

|

667人浏览过

|

来源于php中文网

原创

bevy是一个基于rust语言的跨平台游戏引擎,但在windows 10环境下编译时遇到了许多问题,经过解决后,我将这些经验记录下来,供遇到类似问题的朋友参考:

环境:Windows 10 + bevy 0.5.0 + rustup nightly版本

一、设置crates国内镜像

由于访问crates.io官网速度较慢,可以在当前用户的.cargo目录下创建一个名为config的文件,内容如下:

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
# 可根据偏好选择以下源之一
replace-with = 'rustcc'
<h1>中国科技大学</h1><p>[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"</p><h1>清华大学</h1><p>[source.tuna]
registry = "<a href="https://www.php.cn/link/33d208e8d6fc287973c46e5cb5346f06">https://www.php.cn/link/33d208e8d6fc287973c46e5cb5346f06</a>"</p><h1>上海交通大学</h1><p>[source.sjtu]
registry = "<a href="https://www.php.cn/link/681e639bc756a64940c20e80ca055ae5">https://www.php.cn/link/681e639bc756a64940c20e80ca055ae5</a>"</p><h1>rustcc社区</h1><p>[source.rustcc]
registry = "git://crates.rustcc.cn/crates.io-index"

二、安装VS2019 Build Tools

bevy书籍明确指出,Windows环境需要安装VS2019 Build Tools(注意:必须是VS2019,新版本可能无法编译通过)。在微软官网找到VS2019下载链接需要一些步骤,登录后才能找到旧版本的下载地址:

https://www.php.cn/link/eb27b5382e9d6e1ae84947113126b570

Rust: win10环境如何编译bevy?

安装完成后,需要将64位的link.exe文件所在路径添加到PATH环境变量中(非常重要!),我的机器上安装后的路径是:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\bin\Hostx64\x64\

三、解决link.exe链接错误

如果遇到类似下面的错误:

linking with <code>link.exe failed: exit code: 1189...
...
= note: Non-UTF-8 output: LINK : fatal error LNK1189: \xb3\xac\xb9\xfd 65535 \xb6\xd4\xcf\xf3\xb5\xc4\xbf\xe2\xcf\xde\xd6\xc6\r\n</code>

虽然错误信息看起来无助,但最后一行其实是有用的,只是由于编码问题看不出来。如果机器上安装了Python,可以使用以下两行代码进行处理:

content = b"fatal error LNK1189: \xb3\xac\xb9\xfd 65535 \xb6\xd4\xcf\xf3\xb5\xc4\xbf\xe2\xcf\xde\xd6\xc6\r\n"
print(content.decode("gbk"))

输出结果为:

fatal error LNK1189: 超过 65535 对象的库限制

根据这个信息,经过一番搜索,发现一位高人的解决方案:

在项目根目录下创建一个.cargo目录,并在其中添加一个config.toml文件,内容如下:

AI Web Designer
AI Web Designer

AI网页设计师,快速生成个性化的网站设计

下载
[target.x86_64-pc-windows-msvc]
linker = "rust-lld.exe"
rustflags = ["-Zshare-generics=off"]

然后执行cargo clean清空原来的target输出,再运行cargo run。可能会遇到以下错误:

error: the option <code>Z is only accepted on the nightly compiler</code>

这意味着只有nightly版本的编译器才能使用以Z开头的参数。安装nightly版本并将其设置为默认版本:

rustup install nightly
rustup default nightly

注意:如果需要切换回stable版本,只需运行rustup default stable

确认版本:

rustc --version

我的机器上会输出:

<code>rustc 1.59.0-nightly (0b42deacc 2021-12-09)</code>

完成这些步骤后,再次运行:

cargo clean
cargo run

应该就可以成功编译了。如果在cargo clean时遇到“target\xxx.dll无法删除”的问题,可以手动删除target目录。

四、关于编译速度慢的问题

bevy书籍中提到,强烈建议Windows用户安装cargo-binutils:

cargo install -f cargo-binutils
rustup component add llvm-tools-preview

然后在项目的Cargo.toml文件中,添加以下依赖:

[dependencies]
bevy = { version = "0.5.0", features = ["dynamic"] }

这样可以大大提高编译速度。

最后,提供一个官方示例的运行命令:

cargo run --example z_sort_debug

Rust: win10环境如何编译bevy?

相关文章

Windows激活工具
Windows激活工具

Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全

C++系统编程中的内存管理是指 对程序运行时内存的申请、使用和释放进行精细控制的机制,涵盖了栈、堆、静态区等不同区域,开发者需要通过new/delete、智能指针或内存池等方式管理动态内存,以避免内存泄漏、野指针等问题,确保程序高效稳定运行。它核心在于开发者对低层内存有完全控制权,带来灵活性,但也伴随高责任,是C++性能优化的关键。

13

2025.12.22

Rust异步编程与Tokio运行时实战
Rust异步编程与Tokio运行时实战

本专题聚焦 Rust 语言的异步编程模型,深入讲解 async/await 机制与 Tokio 运行时的核心原理。内容包括异步任务调度、Future 执行模型、并发安全、网络 IO 编程以及高并发场景下的性能优化。通过实战示例,帮助开发者使用 Rust 构建高性能、低延迟的后端服务与网络应用。

10

2026.02.11

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

228

2026.03.05

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

236

2023.12.07

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1496

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1171

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

836

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

463

2023.08.02

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.6万人学习

Excel 教程
Excel 教程

共162课时 | 21.3万人学习

PHP基础入门课程
PHP基础入门课程

共33课时 | 2.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号