M1芯片mac运行lvgl仿真器编译无法找到SDL.h头文件问题
mac部署lvgl环境
·
目录
前言
最近项目有涉及LVGL这个开源的酷炫UI框架,为了便于调试 lvgl,我在自己的mac上部署了 lvgl 的工程,但是遇到了一些关于 SDL 的编译问题。
一开始按照官方文档的步骤操作,安装了 sdl2 编译依旧无法找 SDL.h 文件,经过一番折腾,总算是解决了,于是我想分享下经验给遇到相同问题的人参考一下,以便于减少部署环境花费大量时间。
我具体的环境部署步骤如下:
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的样式

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