Кроссплатформенный графический интерфейс C

Мой друг и я разрабатываем программное обеспечение на C, он разрабатывает его для Windows, я вношу свой вклад и использую Xubuntu. Насколько мне известно, Qt поддерживает C++, а не C, и насколько я знаю, GTK отстой в Windows, и я слышал ужасные истории о людях, разрабатывающих программное обеспечение GTK для Windows. Я ищу:

  • Кроссплатформенный графический интерфейс C (Windows, Linux и Mac, 32-разрядная и 64-разрядная версии)
  • Бесплатный и с открытым исходным кодом, я не хочу беспокоиться о лицензировании
  • Поддерживается
  • Современный вид
  • Легкий
  • Легко учиться, я хочу научиться этому быстро
  • Хорошо документировано и имеет образцы приложений (примеры).
  • Группа поддержки или форумы с активными участниками или активный канал IRC
  • Большой бонус, если мне не нужно загружать SDK, чтобы использовать библиотеку графического интерфейса, все, что я хочу, это создать несколько окон с несколькими кнопками.
1. Если вы знаете C, что не так с C++? 2. Возможно, вы не найдете ничего лучше Qt с нужными вам функциями.
@Cornelius Корнелиус, я тоже знаю C++, это просто мой партнер по проекту, он программист на пенсии, много лет занимался C и хотел бы использовать язык, который знает лучше всего, он не знает C++ и хотел бы сделать это на C, если бы возможный
Если он знает C, то он уже много знает о C++. Вот основные отличия cprogramming.com/tutorial/c-vs-c++.html.
@Cornelius Я отправил ему ссылку, давайте посмотрим, достаточно ли этого, чтобы убедить его, но все же вопрос остается в силе, было бы неплохо, если бы был такой графический интерфейс
Также отправьте ему эту ссылку en.wikipedia.org/wiki/…

Ответы (3)

Если вы можете принять HTML5/JS в качестве графического интерфейса, взгляните на Chromium Embedded Framework (CEF):

https://code.google.com/p/chromiumembedded/

Базовая структура CEF включает поддержку языков программирования C и C++.

CEF поддерживает привязки и обратные вызовы javascript, поэтому вы можете асинхронно взаимодействовать в обоих направлениях между C <> JS.

Вот пример того, как использовать CEF C API (мой проект github): https://github.com/CzarekTomczak/cefcapi

Spotify использует это, например

Стоит взглянуть на wxWidgets — это кроссплатформенная библиотека с графическим интерфейсом, написанная на C++, но ее можно использовать из C, а также она имеет привязки для python, ruby, perl и других.

  • Кроссплатформенность — да Windows/Linux/OS-X/другие — 64- и 32-разрядные версии.
  • Бесплатный и с открытым исходным кодом — Да, и с разрешающей (совместимой с LGPL) лицензией.
  • Поддерживается — активно развивается и поддерживается с 1992 года.
  • Современный вид. На самом деле wxWidgets выглядит нативным на большинстве платформ, потому что там, где он, возможно, действует как оболочка вокруг нативных виджетов, поэтому в XP он выглядит как XP, в Win 7 он выглядит как Win 7 и т. д.
  • Легкий - очень по вышеуказанной причине.
  • Простота в освоении — множество документации, примеров, демонстраций и онлайн-ресурсов.
  • Хорошо документированы и примеры - см. строку выше.
  • Команда поддержки - Очень активные форумы и список рассылки, включая основных авторов.
  • Не нужен и SDK — да, вы используете существующую цепочку инструментов разработки для сборки из исходного кода или можете загрузить бинарные дистрибутивы для:
    • Windows как wxMSW DLL для выбранных компиляторов:
      • Визуальный С++ 2008-2013
      • TDM-GCC 4.7 и 4.8
    • Пакеты Ubuntu/Debian
    • Пакеты Fedora/openSUSE
Я знаю, что для этого уже был принят другой ответ, но все же считаю, что об этом стоит упомянуть.

Также :

Это просто список ссылок, можете ли вы подробно описать, что это такое, основные функции и тому подобное? Есть ли кто-нибудь, кого вы можете порекомендовать?