Ok guys I’ve figured it out! First thanks a lot, I needed different ideas and perspective on the issue.
So, my build.zig was correct, and it was indeed a “compilation switch”, ie a “IMGUI_IMPL_OPENGL_ES3” that I added with addCMacro.
The problem is that, in the imgui backend, this switch is actually rather confusing, and protected with tons of others #define, imbricated and hard to figure out.
Turns out for some reason, with this switch, only on Windows it would use a “loader” storing function pointers, resolved at runtime. But on Linux and MacOS, it would instead #include directly some GL headers, declaring functions, therefore they were expected to be found at link time.
A bit weird and unexpected, but everything is working as expected now!
4 Likes