My friend and I are developing a C software, he's developing it on Windows, I'm contributing and I use Xubuntu. As far as I know, Qt supports C++ and not C, and as far as I know GTK sucks on Windows, and I heard horror stories of people developing GTK software on Windows. I'm looking for:

  • A cross-platform C GUI (Windows, Linux and Mac, 32 bit and 64 bit)
  • Free and open source, I do not want to worry about licensing
  • Maintained
  • Modern looking
  • Lightweight
  • Easy to learn, I want to learn it quickly
  • Well documented, and has sample applications (examples)
  • Support team or forums with active members or active IRC channel
  • Big bonus if I don't have to download an SDK in order to use a GUI library, all I want is to create some windows with few buttons.
  • 1. If you know C, what is wrong with C++? 2. You probably won't find something better than Qt with the features you are looking for.
    – Cornelius
    May 6 '14 at 12:57
  • 1
    @Cornelius i know c++ too, it's just my partner in the project, he's a retired programmer, spent years doing C and would like to use the language he knows best, he doesn't know C++ and would like to do it in C if possible
    – Lynob
    May 6 '14 at 13:05
  • 1
    If he knows C then he already knows a lot about C++. Here are the main differences cprogramming.com/tutorial/c-vs-c++.html
    – Cornelius
    May 6 '14 at 13:08
  • 1
    @Cornelius I sent him the link lets see if that's enough to convince him, but still the question stands, it will be nice if there's such gui
    – Lynob
    May 6 '14 at 13:59
  • Also send him this link en.wikipedia.org/wiki/…
    – Cornelius
    May 6 '14 at 14:01

If you can accept HTML5/JS as GUI then take a look at the Chromium Embedded Framework (CEF):


The base CEF framework includes support for the C and C++ programming languages.

CEF supports javascript bindings and callbacks, so you can communicate asynchronously both ways between C <> JS.

Here is an example on how to use CEF C API (a github project of mine): https://github.com/CzarekTomczak/cefcapi

  • Spotify uses this for example
    – Gourneau
    May 13 '14 at 0:03

It is worth taking a look at wxWidgets - it is a cross platform GUI library written in C++ but it can be used from C and also has bindings for python, ruby, perl and others.

  • Cross Platform - Yes Windows/Linux/OS-X/Others - 64 & 32 bit.
  • Free & Open Source - Yes and with a permissive, (LGPL compatible), licence.
  • Maintained - Actively developed and maintained as it has been since 1992.
  • Modern Looking - Actually wxWidgets looks native on most platforms because where possibly it acts as a wrapper arround the native widgets so on XP it looks XP on Win 7 it looks Win 7, etc.
  • Lightweight - Very for the reason above.
  • Easy to learn - Lots of documentation, examples, demos and online resources.
  • Well documented and examples - see the line above.
  • Support team - Very active forums and mailing list, including the main authors.
  • Don't need and SDK - Yes you use your existing development tool chain to build from source or you can download binary distributions for:
    • Windows as wxMSW DLLs for the selected compilers:
      • Visual C++ 2008-2013
      • TDM-GCC 4.7 and 4.8
    • Ubuntu / Debian Packages
    • Fedora / openSUSE Packages
  • 1
    I know that another answer has already been accepted for this but still feel it is worth a mention. Jan 24 '15 at 16:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.