Do you really need a classical GUI? Personally, where possible, I try to wrap a webservice around the app and let the browser do the visual stuff,
esp. adaptation to the visuals of the OS at hand. A combination of Mojolicious and Bootstrap worked well for me.
Pros:
- separation of business logic execution from presentation (can run locally but also on a remote server)
- no hassle with compilation of C/C++ libraries on different platforms
- with Responsive Design, looks decent on phone, tablet, PC, etc.
- HTML & CSS is easy to use and pretty portable
The drawbacks might be slower response times and sometimes more work to realise complicated GUI structures.
Also networking (firewalls) and security has to be considered when not working locally (localhost).
But then, there are a lot of frameworks available and being forced to think about easier ways to achieve a
given functionality has some worth of its own.