With the updated version I get this error: $ nim c -r --cc:clang --clang.exe="zigcc" --clang.linkerexe="zigcc" borrame ... /home/jose/.cache/nim/borrame_d/@mborrame.nim.c:90:2: error: use of undeclared identifier 'struct_lv_color_t' 90 | struct_lv_color_t color; | ^ /home/jose/.cache/nim/borrame_d/@mborrame.nim.c:92:69: error: use of undeclared identifier 'color' 92 | nimlf_(4, "/home/jose/src/nimlang/lvgl.nim/examples/borrame.nim"); color = lv_color_hex(((NU32)14935)); | ^ 2 errors generated. Error: execution of an external compiler program 'zigcc -c -w -ferror-limit=3 -pthread -I/home/jose/src/nimlang/lvgl.nim/src/lvgl/submodules/lvgl -I/home/jose/.choosenim/toolchains/nim-2.0.6/lib -I/home/jose/src/nimlang/lvgl.nim/examples -o /home/jose/.cache/nim/borrame_d/@mborrame.nim.c.o /home/jose/.cache/nim/borrame_d/@mborrame.nim.c' failed with exit code: 1 Run
The generated C code: N_LIB_PRIVATE N_NIMCALL(void, main__borrame_u2)(void) { struct_lv_color_t color; nimfr_("main", "/home/jose/src/nimlang/lvgl.nim/examples/borrame.nim"); nimlf_(4, "/home/jose/src/nimlang/lvgl.nim/examples/borrame.nim"); color = lv_color_hex(((NU32)14935)); nimln_(5); echoBinSafe(TM__nnU0fWpUVhSBXtxRF6Sf1A_2, 1); popFrame(); } Run This `struct_lv_color_t color;` in the generated code doesn't make much sense in my opinion. In the [original library](https://github.com/lvgl/lvgl/blob/3d32aa97918cc1cfcbfb21db797ba85e55496217/src/misc/lv_color.h#L89-L93) we have: typedef struct { uint8_t blue; uint8_t green; uint8_t red; } lv_color_t; Run and Futhark is creating: struct_lv_color_t* {.pure, inheritable, bycopy.} = object blue*: uint8 ## Generated based on /home/jose/src/nimlang/lvgl.nim/src/lvgl/submodules/lvgl/src/core/../misc/../font/../draw/../misc/lv_color.h:89:9 green*: uint8 red*: uint8 Run while `c2nim` creates for that snippet: type lv_color_t* {.importc: "lv_color_t", header: "a.c", bycopy.} = object blue* {.importc: "blue".}: uint8_t green* {.importc: "green".}: uint8_t red* {.importc: "red".}: uint8_t Run