Seems there is a lot of code inside uxmux.h and that seems odd to me.
I ran into an issue building natively on BeagleBone/PocketBeagle using the Debian images:
...
g++ -o build/uxmux main.o -Wl,-Map=build/uxmux.map,--cref -s -v -nodefaultlibs -lc -ldl -lstdc++ -lgcc_s -Wl,-t -Llib/litehtml/ -llitehtml `pkg-config --libs freetype2` `pkg-config --libs libpng` \
) ; then : ; else echo "FAILURE: Running 'make clean_all && make' may solve the problem." ; fi
In file included from main.cpp:1:0:
uxmux.h:30:6: error: ‘void uxmux_container::render(litehtml::uint_ptr, litehtml::document::ptr, uxmux_container*, fb_var_screeninfo*, fb_fix_screeninfo*, litehtml::uint_ptr, int, int, unsigned char, bool)’ cannot be overloaded
void render(litehtml::uint_ptr hdc, litehtml::document::ptr doc, uxmux_container* painter, struct fb_var_screeninfo* vinfo, struct fb_fix_screeninfo* finfo, litehtml::uint_ptr hdcMouse, int x, int y, unsigned char click_ie, bool redraw) {
^~~~~~
...
debian@pocket-6e3b:/var/lib/cloud9/uxmux$ gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.