Error: conflicting types for 'ui_anim_user_data_t' in ui_helpers.h

I get the above mentioned error: “conflicting types for ‘ui_anim_user_data_t’” in ui_helpers.h while compiling a Sqareline Studio project using PlatformIO (IDE: VS Code)

Compiling error:

In file included from include/ui.h:16,
from src/ui_helpers.h:13,
from src/ui_helpers.c:6:
include/ui_helpers.h:75:3: note: previous declaration of ‘ui_anim_user_data_t’ was here
} ui_anim_user_data_t;

Code: (ui_anim_user_data_t marked as conflicting with the second “ui_anim_user_data_t” in line 7)

/** Describes an animation*/
typedef struct _ui_anim_user_data_t {
    lv_obj_t * target;
    lv_img_dsc_t ** imgset;
    int32_t imgset_size;
    int32_t val;
} ui_anim_user_data_t;
void _ui_anim_callback_free_user_data(lv_anim_t * a);

void _ui_anim_callback_set_x(lv_anim_t * a, int32_t v);

void _ui_anim_callback_set_y(lv_anim_t * a, int32_t v);

void _ui_anim_callback_set_width(lv_anim_t * a, int32_t v);

void _ui_anim_callback_set_height(lv_anim_t * a, int32_t v);

void _ui_anim_callback_set_opacity(lv_anim_t * a, int32_t v);

void _ui_anim_callback_set_image_zoom(lv_anim_t * a, int32_t v);

void _ui_anim_callback_set_image_angle(lv_anim_t * a, int32_t v);

void _ui_anim_callback_set_image_frame(lv_anim_t * a, int32_t v);

int32_t _ui_anim_callback_get_x(lv_anim_t * a);

int32_t _ui_anim_callback_get_y(lv_anim_t * a);

int32_t _ui_anim_callback_get_width(lv_anim_t * a);

int32_t _ui_anim_callback_get_height(lv_anim_t * a);

int32_t _ui_anim_callback_get_opacity(lv_anim_t * a);

int32_t _ui_anim_callback_get_image_zoom(lv_anim_t * a);

int32_t _ui_anim_callback_get_image_angle(lv_anim_t * a);

int32_t _ui_anim_callback_get_image_frame(lv_anim_t * a);

void _ui_arc_set_text_value(lv_obj_t * trg, lv_obj_t * src, const char * prefix, const char * postfix);

void _ui_slider_set_text_value(lv_obj_t * trg, lv_obj_t * src, const char * prefix, const char * postfix);

void _ui_checked_set_text_value(lv_obj_t * trg, lv_obj_t * src, const char * txt_on, const char * txt_off);

void _ui_spinbox_step(lv_obj_t * target, int val)
;

Others

  • SquareLine Studio version:
    1.3.4
  • LVGL version:
    8.3.6
  • Operating system:
    win10
  • Target hardware:
    esp32-s3
    -IDE
    VS Code + PlatformIO

The code i posted was soley created by Sqareline Studio.
Can anyone give me a hint on how to solve this? Please mind that i just started coding. :slight_smile:

    The conflict is not between the marked symbol and line 7 because the marked symbol has a leading ‘_’. I think this is because your ui_helpers.h is somehow not properly guarded against double inclusion of its contents by _SQUARELINE_PROJECT_UI_HELPERS_H and _SQUARELINE_PROJECT_UI_H conditional defines, but that’s just a tip for now. Maybe PlatformIO’s compiler (C++11) handles it differently than standard C compiler. We’ll take a deeper look into this.