单片机手搓掌上游戏机(二十一)—pico运行doom之修改编译

这个pico-doom的作品本来是输出到vga显示器上的,但是作者是在linux下弄出来的,我把它下载到windows下有些奇奇怪怪的错误,始终无法纠正。

把lcd版本覆盖过来后,对编译include和link的文件进行了简化,才能用,只能用pico-sdk-1.5.1,不能用最新版的,这种开源的软件就这个样了。esp32的也好不到哪里去,5.0以后的编译早期的文件大概率出错。

首先是修改各个Cmakelists.txt文件,这是生成makefile文件的流程,虽然cmake号称linux和windows通吃,还是有千奇百怪的问题。

首先是根目录下Cmakelists.txt,添加以下三行

路径改成上一节记下的pico-sdk和pico-extras的路径,记住把\都改成/。

酱紫:

set(PICO_SDK_PATH "D:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-sdk")

set(PICO_EXTRAS_PATH "D:/Program Files/Raspberry Pi/Pico SDK v1.5.1/pico-examples/pico-extras")

set(CMAKE_BUILD_TYPE MinSizeRel)

修改src文件夹下的Cmakelists.txt

红框内的全删除,只留下doom_tiny这一个目标。

修改src下pico文件夹下的 Cmakelists.txt

这里lcd,把st7789注释,换成ili9341 ,没错,用st7789就要改成ili9341。

这里加一句,链接到pico_audio_i2s,作者不知道怎么回事,用了i2s却没有include进来,导致无法编译,我找了好久原因,就没想到高手留下这么一个简单的错误。

然后就是ctrl+shift+p cmake configure

ctrl+shift+p cmake build

修改到位的话就是

可以编译出doom_tiny.uf2文件了

但是颜色仍然不正常,纠正需要找到src/pico/magc.h文件

注释45行把上图50行复制到46行

全部保存,艰难的修改就搞成了。

再build一下,作品就好了。

相关推荐
程序员老陆2 分钟前
std::experimental::when_any 深度解析:等待“第一个完成”的异步组合原语
c++·多线程
Rabitebla30 分钟前
【Linux系统编程】指令(三):创建、删除、复制、移动、看内容
linux·数据结构·c++·算法
程序员老陆36 分钟前
CMake 常用关键字与命令全景:从 set到 target_link_options的现代工程视角
c++·cmake·程序开发
louis.D.1 小时前
Git 本地单线速查
单片机
小李不想当小白1 小时前
PCB结构与组成(PCB设计入门学习笔记)
经验分享·笔记·单片机·嵌入式硬件·学习·pcb工艺·pcb
码匠许师傅1 小时前
【C++三方组件】cxxopts:轻量首选的命令行解析
c++
hansang_IR2 小时前
【讲解】CSP-S2026 第一轮初赛
c++·算法
Methy2 小时前
IoTHub半个月崩了五次?都是裸rethrow惹的祸
服务器·c++·后端
新晨单片机设计2 小时前
S004R-基于STM32单片机智能门禁系统(密码、指纹、人脸、刷卡、蓝牙)【Proteus仿真+Keil程序+原理图】
stm32·单片机·嵌入式硬件·proteus
至为芯2 小时前
PY32F071至为芯支持32位ARM内核的高主频MCU单片机
单片机·集成电路·芯片