本项目根据编译目标平台的不同,依赖于不同的库。

1. PC (Linux) 平台依赖

在PC上编译时,项目依赖于您系统上已经安装好的开发库。您需要通过包管理器(如apt)来安装它们。

  • 核心库: build-essential, cmake, pkg-config
  • LVGL 模拟器: libsdl2-dev
  • LVGL 字体与图片: libfreetype6-dev, libpng-dev, zlib1g-dev
  • 网络与通信: libssl-dev, libcurl4-openssl-dev, libmosquitto-dev, libcjson-dev

您可以使用以下命令在Debian/Ubuntu系统上一次性安装所有依赖:

1
sudo apt install build-essential cmake pkg-config libsdl2-dev libfreetype6-dev libpng-dev zlib1g-dev libssl-dev libcurl4-openssl-dev libmosquitto-dev libcjson-dev

2. ARM 平台依赖

在为ARM平台交叉编译时,CMake被配置为不使用系统库,而是链接项目 libs/ 目录下预编译好的静态库

这些库包括:

  • libs/freetype/lib/arm/libfreetype.a
  • libs/libpng_ARM/libpng16.a
  • libs/openssl/libcrypto.alibssl.a
  • libs/mosquitto/lib/libmosquitto.a
  • libs/curl/lib/libcurl.a

这种方式的好处是,您无需在交叉编译环境中为目标平台逐一编译这些依赖库,项目本身已经自带了这些“干粮”。

3. 库版本说明

所有使用的第三方库(如LVGL, cJSON, mosquitto等)直接使用其最新稳定版即可,项目没有对特定旧版本的依赖