Ответ 1
Если вы ищете библиотеку С++, то Qt в основном делает то, что вы ищете. Если вы хотите придерживаться чистого C, то Qt не является опцией.
В качестве рамки C вы можете использовать GTK +, он работает на Linux, Windows и OS X.
Бесплатно, легко учиться/использовать, библиотеку Cross Platform C для приложений GUI? Я ищу Qt?
Бонусный вопрос: могу ли я начать с указанной библиотеки/инструментария на Mac, а затем перекомпилировать на ПК /Linux?
Супер бонусный вопрос: ссылка на учебник и/или загрузку указанной библиотеки.
По правде говоря, я в процессе догнать семью C (исходя из веб-разработки - XHTML/PHP/MySQL), чтобы изучить развитие iPhone.
Я понимаю, что C не С++ или ObjectiveC, но я хочу, чтобы кривая обучения была максимально простой. Не слишком торопитесь, но я также ищу хорошие книги и веб-сайты для начинающих. Я нашел это до сих пор.
Я пытаюсь убить много птиц одним камнем здесь. Я не понимаю, что существуют расширения для платформы, но я постараюсь избежать их для целей переноса Идея состоит в том, что я хочу написать код на одной машине и просто компилировать три раза. (Mac/Win/Linux) Если Objective C будет компилироваться в Windows и Linux, а также в OS X, то это хорошо. Если я должен использовать С++, это тоже отлично.
Если вы ищете библиотеку С++, то Qt в основном делает то, что вы ищете. Если вы хотите придерживаться чистого C, то Qt не является опцией.
В качестве рамки C вы можете использовать GTK +, он работает на Linux, Windows и OS X.
Взгляните на IUP Toolkit. Он написан в основном на языке C и также легко связан с Lua.
Qt - библиотека С++. Другие библиотеки кроссплатформ, которые вы можете рассмотреть, wxWidgets (С++) и GTK (C).
Все три представленные библиотеки полностью перекрестные. Вы также можете посмотреть Tcl/Tk, но это инструментарий:).
Другим вариантом является Tk, который представляет собой графическую библиотеку, написанную на C. Он поставляется с Tcl, языком сценариев, также написанным на C. Они были разработаны с нуля, чтобы быть встроенными в программы C.
Чтобы заполнить этот пост, Allegro должен быть здесь =)
http://www.talula.demon.co.uk/allegro/ Allegro Game Library, имеет множество графических функций и базовую библиотеку графического интерфейса.
И явная библиотека GUI (и очень простая) на основе Allegro
http://cgui.sourceforge.net/index.html
Обе мультиплатформенные
То, что я рассмотрел, было EFL, поскольку оно довольно быстрое, простое, маленькое, но мощное. Я бы рекомендовал погрузиться в Elementary, простейший набор инструментов GUI, а затем, после того как вам станет удобно, перейдите к EDJE, что не так просто, но гораздо более мощно.
Вы отметили этот вопрос о qt, который является тегом, за которым я следую. Тем не менее, вы также спрашиваете о c программирование.
Если по какой-то странной (или с учетом домена) причине вы чувствуете, что должны использовать C, а не С++, то Qt не для вас. Он был разработан с нуля как библиотека С++.
Тем не менее я бы настоятельно предложил расспросить, почему ваш проект должен быть в C. Существует множество преимуществ для С++, и идея о том, что C выполняет внутренне лучше, в основном является мифом. Для некоторых жестких данных об этом, проверьте Bjarne Stroustrup Изучение С++ как нового языка.
Если вы должны придерживаться C, тогда всегда есть GTK. Основной API GTK + - это C, но привязки также существуют для С++, называемого GTKmm. Я не большой поклонник этого с точки зрения дизайна, но исторически работал на рабочем столе Gnome (по умолчанию Ubuntu)... и Google выбрал его для своей версии Chrome для Linux. Таким образом, он имеет некоторое доверие и поддержку там.
Но обратите внимание, что Ubuntu выбирает Qt5 для реализации своей следующей версии "Unity" на рабочем столе:
EDIT: Вы добавили:
Если я должен использовать С++, это тоже прекрасно.
"Must" - сильное слово, но сравнения между С++/Qt и C/GTK практически нет. И последнее становится историческим.
Взгляните на Ecore SDK. Он предлагает кросс-платформенный инструментарий GUI и дает вам eC, объектно-ориентированный язык, полученный из C (со всеми его функциями), который отлично подходит для создания графических интерфейсов.
Еще один вариант, хотя и ограниченный и, возможно, уродливый для некоторых людей: AGUI
Вручную: http://intron-trans.hu/agui.html
двоичные файлы Windows: http://intron-trans.hu/agui-bin-mingw-v090b.zip
Исходный код: http://intron-trans.hu/agui-src-v090b.zip