Trying to build Micropython with LVGL 9.3. (ESP32, IDF5.4)
In default lv_conf.h
:
/*=========================
STDLIB WRAPPER SETTINGS
*=========================*/
/** Possible values
* - LV_STDLIB_BUILTIN: LVGL's built in implementation
* - LV_STDLIB_CLIB: Standard C functions, like malloc, strlen, etc
* - LV_STDLIB_MICROPYTHON: MicroPython implementation
* - LV_STDLIB_RTTHREAD: RT-Thread implementation
* - LV_STDLIB_CUSTOM: Implement the functions externally
*/
#define LV_USE_STDLIB_MALLOC LV_STDLIB_MICROPYTHON
#define LV_USE_STDLIB_STRING LV_STDLIB_BUILTIN
#define LV_USE_STDLIB_SPRINTF LV_STDLIB_BUILTIN
If I change to
#define LV_USE_STDLIB_MALLOC LV_STDLIB_MICROPYTHON
#define LV_USE_STDLIB_STRING LV_STDLIB_MICROPYTHON
#define LV_USE_STDLIB_SPRINTF LV_STDLIB_MICROPYTHON
got error:
undefined reference to `lv_memcpy'
undefined reference to `lv_strlen'
undefined reference to `lv_strcpy'
undefined reference to `lv_strncmp'
...
...
Which is one is better? What’s difference ? :
LV_STDLIB_BUILTIN
LV_STDLIB_CLIB
LV_STDLIB_MICROPYTHON
My feeling said LV_STDLIB_MICROPYTHON
would be better. But failed to build using it.
How to solve those build error, if we want to use LV_STDLIB_MICROPYTHON
for all?