The most obvious answer would be to use the OS's native UI widgets, e.g. in Windows maybe even Win32 widgets. With under 200 lines (!) of C/C++ code you get windows, buttons, text fields, lists, tables, whatever you need. The end result is an executable of size less than 8 kilobytes, and has been working last 20-30 years in the past, and most probably will work decades in the future.
Besides, there isn't really "cross-platform GUI", because not every platform has same kind of widgets and behaviors.