You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ESP32平台LovyanGFX库编译失败求助:LGFX_SPI模板类型错误

解决LovyanGFX编译错误:'LGFX_SPI' in namespace 'lgfx' does not name a template type

问题根源

这个错误是因为你当前安装的LovyanGFX版本和旧项目依赖的版本不兼容——新版库已经移除了LGFX_SPI这类模板化快捷定义,改用基于配置结构体的初始化逻辑。连库自带示例都报错,说明你装的是新版库,但旧代码(包括库的旧版示例)是基于旧版API编写的。

解决办法

方法1:回退到适配旧项目的库版本

找到旧项目开发时使用的LovyanGFX版本重新安装:

  • Arduino IDE:打开库管理器,搜索LovyanGFX,点击"选择版本",挑选对应旧版本安装。
  • PlatformIO:在platformio.ini中指定库版本,比如lib_deps = lovyan/LovyanGFX@<具体旧版本号>,再重新编译项目。

方法2:修改代码适配新版库

如果要升级到新版库,需要替换原有的LGFX_SPI相关代码,改用自定义设备类的方式。以下是SPI接口屏幕(以ST7789为例)的适配示例:

#include <LovyanGFX.hpp>

// 自定义LCD设备类,继承自LGFX_Device
class LGFX : public lgfx::LGFX_Device {
  lgfx::Panel_ST7789     _panel;     // 屏幕面板实例
  lgfx::Bus_SPI          _bus;       // SPI总线实例
  lgfx::Light_PWM        _backlight; // 背光控制实例

public:
  LGFX(void) {
    // 配置SPI总线参数
    auto bus_cfg = _bus.config();
    bus_cfg.spi_host = VSPI_HOST;    // 指定VSPI总线
    bus_cfg.spi_mode = 0;            // SPI模式0
    bus_cfg.freq_write = 40000000;   // 写入频率40MHz
    bus_cfg.pin_sclk = 18;           // SCLK引脚
    bus_cfg.pin_mosi = 23;           // MOSI引脚
    bus_cfg.pin_miso = -1;           // 不使用MISO引脚
    bus_cfg.pin_dc   = 2;            // DC引脚
    _bus.config(bus_cfg);
    _panel.setBus(&_bus);

    // 配置屏幕面板参数
    auto panel_cfg = _panel.config();
    panel_cfg.pin_cs           = 5;  // CS引脚
    panel_cfg.pin_rst          = -1; // 不使用RST引脚
    panel_cfg.panel_width      = 240;// 屏幕宽度
    panel_cfg.panel_height     = 320;// 屏幕高度
    panel_cfg.invert           = true;// 颜色反转
    _panel.config(panel_cfg);

    // 配置背光参数
    auto bl_cfg = _backlight.config();
    bl_cfg.pin_bl = 4;              // 背光引脚
    _backlight.config(bl_cfg);
    _panel.setLight(&_backlight);

    setPanel(&_panel);
  }
};

static LGFX lcd; // 实例化LCD对象

根据你的实际屏幕型号和引脚布局,修改上述代码中的参数即可。

方法3:重新安装库排查文件缺失

如果是库安装不完整导致头文件或源文件缺失,先卸载当前LovyanGFX,再重新下载安装对应版本,确保所有文件都正确加载。

内容的提问来源于stack exchange,提问作者Κωνσταντίνος Κ.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 17:45:57