尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

从Makefile到.ovl:Status Monitor Overlay开发环境搭建与源码编译完整指南

从Makefile到.ovl:Status Monitor Overlay开发环境搭建与源码编译完整指南 从Makefile到.ovlStatus Monitor Overlay开发环境搭建与源码编译完整指南【免费下载链接】Status-Monitor-OverlayMonitor many stats of Nintendo Switch hardware项目地址: https://gitcode.com/gh_mirrors/st/Status-Monitor-OverlayStatus Monitor Overlay 是一款运行在特斯拉环境Tesla下的 Nintendo Switch 自制软件homebrew能以 Overlay 悬浮层方式实时监控 CPU、GPU、内存、温度、风扇与电池等硬件状态。本指南带你从零搭建 DevKitPro 开发环境理解 Makefile 的构建逻辑并亲手把源码编译成可在 Switch 上运行的.ovl文件。 编译前先认识这个项目Status Monitor Overlay 提供 Full、Mini、Micro、FPS 等五种显示模式可展示各 CPU 核心占用、GPU 负载、SoC/PCB/皮肤温度、电池电压电流等数据详细说明见 docs/modes.md。它的运行依赖两个已打包在仓库中的库libteslaSwitch 自制软件的 GUI 框架位于 lib/libtesla/include/主入口 source/main.cpp 通过它创建 Overlay 窗口libstratosphereAtmosphere 相关的底层库位于 lib/Atmosphere-libs/各显示模式的绘制逻辑分别在 source/modes/ 下的Full.hpp、Mini.hpp、FPS_Graph.hpp等文件中结构非常清晰适合新手阅读。️ 第一步安装 DevKitPro 开发环境本项目基于DevKitPro工具链交叉编译目标架构为 ARMv8Cortex-A57。打开终端克隆 DevKitPro 源码并安装git clone https://github.com/devkitPro/installer devkitpro-installer cd devkitpro-installer ./install.sh安装完成后在~/.bashrc中设置关键环境变量Makefile 会强制检查它export DEVKITPRO$HOME/devkitpro其中$DEVKITPRO/libnx/switch_rules是 Switch 项目的构建规则文件缺少 libnx 会导致编译直接报错。 第二步获取源码克隆项目源码到本地git clone https://gitcode.com/gh_mirrors/st/Status-Monitor-Overlay cd Status-Monitor-Overlay 第三步读懂 Makefile 的核心参数打开项目根目录的 Makefile以下几个变量决定了构建行为变量作用APP_TITLE : Status Monitor应用标题写入 .nacp 元数据SOURCES : source源码目录自动收集.c/.cpp文件INCLUDES头文件搜索路径包含include与两个库目录CXXFLAGS使用-stdc23并定义__SWITCH__宏ARCH-marcharmv8-acrccrypto -mtunecortex-a57针对 Switch 处理器优化编译流程由elf2nro工具完成所有.o目标文件先链接为.elf再转换成.ovlOverlay格式最终产物被自动打包到out/switch/.overlays/目录——这正是 Tesla 扫描 Overlay 的位置。此外 Makefile 还会把 config/ 目录一并复制到out/其中的 config.ini.template 就是配置文件模板。⚡ 第四步执行编译在项目根目录运行make看到built ... Status-Monitor-Overlay.ovl即编译成功。常用命令一览make clean # 清理所有构建产物 make dist # 编译并打包为 Status-Monitor-Overlay.zip可直接部署 第五步部署到 Switch将out/switch/下的内容拷贝到 Switch 的 SD 卡根目录switch/.overlays/Status-Monitor-Overlay.ovl→ 悬浮层主程序config/status-monitor/config.ini.template→ 重命名为config.ini后生效各选项含义见 docs/config.md需要已安装Tesla Menu 1.2.3 或更高版本。进入特斯拉菜单打开 Status Monitor 即可看到五选一的主界面。若想安装 SaltyNX 等附加组件以解锁 FPS、分辨率等高级数据可参考仓库 README 中的说明。 常见编译报错速查报错信息原因与解决办法Please set DEVKITPRO in your environment未设置DEVKITPRO环境变量回到第一步检查libnx/switch_rules: No such fileDevKitPro 未安装或DEVKITPRO路径错误c23: not supported工具链过旧需更新 DevKitPro 至支持 C23 的版本elf2nro: command not founddevkitpro的tools目录未加入PATH 下一步从编译到魔改编译成功后推荐这样探索源码改外观修改 source/modes/Micro.hpp 中单行显示的配色与字号加数据在 source/Utils.hpp 中找到硬件读取函数接入新的传感器调参数通过 config/status-monitor/config.ini.template 修改刷新率、按键组合等无需重新编译现在你已经完成了从 Makefile 到.ovl的完整流程——修改任意一行源码后make再把新产物拷回 SD 卡就能立刻看到效果。【免费下载链接】Status-Monitor-OverlayMonitor many stats of Nintendo Switch hardware项目地址: https://gitcode.com/gh_mirrors/st/Status-Monitor-Overlay创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表