I am trying to use EEZ studio with FLOW with smt32CubeIDE
Issue is that the generated ui.c file references a generated class eez_flow_init
the linker is claiming eez_flow_init is an undefined reference
void ui_init() {
eez_flow_init(assets, sizeof(assets), (lv_obj_t **)&objects, sizeof(objects), images, sizeof(images), actions);
}
I am not sure how to correct this?
eez_flow_init is declared in eez-flow.cpp as extern “C” as shown below
extern "C" void eez_flow_init(const uint8_t *assets, uint32_t assetsSize, lv_obj_t **objects, size_t numObjects, const ext_img_desc_t *images, size_t numImages, ActionExecFunc *actions) {
g_objects = objects;
g_numObjects = numObjects;
g_images = images;
g_numImages = numImages;
g_actions = actions;
eez::initAssetsMemory();
eez::loadMainAssets(assets, assetsSize);
eez::initOtherMemory();
eez::initAllocHeap(eez::ALLOC_BUFFER, eez::ALLOC_BUFFER_SIZE);
eez::flow::replacePageHook = replacePageHook;
eez::flow::getLvglObjectFromIndexHook = getLvglObjectFromIndex;
eez::flow::getLvglScreenByNameHook = getLvglScreenByName;
eez::flow::getLvglObjectByNameHook = getLvglObjectByName;
eez::flow::getLvglGroupByNameHook = getLvglGroupByName;
eez::flow::getLvglStyleByNameHook = getLvglStyleByName;
eez::flow::getLvglImageByNameHook = getLvglImageByName;
eez::flow::executeLvglActionHook = executeLvglAction;
eez::flow::getLvglGroupFromIndexHook = getLvglGroupFromIndex;
eez::flow::lvglSetColorThemeHook = lvglSetColorTheme;
eez::flow::start(eez::g_mainAssets);
create_screens();
replacePageHook(1, 0, 0, 0);
}
eez_flow_init is defined in ui.h
void eez_flow_init(const uint8_t *assets, uint32_t assetsSize, lv_obj_t **objects, size_t numObjects, const ext_img_desc_t *images, size_t numImages, ActionExecFunc *actions);