目录

  前言

1.App Store上安装xcode

2.通过homebrew安装sdl2及cmake

3.把仿真工程clone下来

4.用vscode打开工程并安装以下插件

5.修改vscode工程中的 launch.json 文件


  前言

        最近项目有涉及LVGL这个开源的酷炫UI框架,为了便于调试 lvgl,我在自己的mac上部署了 lvgl 的工程,但是遇到了一些关于 SDL 的编译问题。

        一开始按照官方文档的步骤操作,安装了 sdl2 编译依旧无法找 SDL.h 文件,经过一番折腾,总算是解决了,于是我想分享下经验给遇到相同问题的人参考一下,以便于减少部署环境花费大量时间。

官方文档:Simulator on PC — LVGL documentation


我具体的环境部署步骤如下:

1.App Store上安装xcode

        安装xcode会自动帮你安装开发所需的编译工具链及相关依赖

2.通过homebrew安装sdl2及cmake

brew install sdl2 
brew install cmake

3.把仿真工程clone下来

git clone --recursive https://github.com/lvgl/lv_sim_vscode_sdl

4.用vscode打开工程并安装以下插件

  • C/C++
  • C/C++ Extension Pack
  • Native Debug

5.修改vscode工程中的 launch.json 文件

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "g++ build and debug active file",
        "type": "cppdbg",
        "request": "launch",
        "program": "${workspaceFolder}/build/bin/demo",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": false,
        "MIMode": "gdb",
        "setupCommands": [
          {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
          }
        ],
        "preLaunchTask": "Build"
      }
    ]
}

        把"MIMode": "gdb", 修改为"MIMode": "lldb", 使用lldb调试

6.把sdl2的库文件及头文件复制到工程根目录

        通过下面命令查看sdl2安装的位置(intell 芯片的安装路径略有不同,具体路径看打印信息)

brew list sdl2
/opt/homebrew/Cellar/sdl2/2.0.22/bin/sdl2-config
/opt/homebrew/Cellar/sdl2/2.0.22/include/SDL2/ (77 files)
/opt/homebrew/Cellar/sdl2/2.0.22/lib/libSDL2-2.0.0.dylib
/opt/homebrew/Cellar/sdl2/2.0.22/lib/cmake/ (3 files)
/opt/homebrew/Cellar/sdl2/2.0.22/lib/pkgconfig/sdl2.pc
/opt/homebrew/Cellar/sdl2/2.0.22/lib/ (4 other files)
/opt/homebrew/Cellar/sdl2/2.0.22/share/aclocal/sdl2.m4

         我在工程的根目录下创建了sdl_include、sdl_lib目录用于存放,可自定义目录名

  • 把/opt/homebrew/Cellar/sdl2/2.0.22/include/SDL2目录拷贝到sdl_include中
  • 把/opt/homebrew/Cellar/sdl2/2.0.22/lib目录拷贝到sdl_lib中

  •  修改Makefile文件

 关于编译及链接库问题,可参考这位大佬的帖子

Mac: “SDL2/SDL_events.h“ file not found解决方案及demo示例_Xminyang的博客-CSDN博客

仿真效果:

        Fn + F5 启动调试

        下面是 lv_demo_music() 这个demo的样式

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐