Gtk3 развивается на windows

Я новичок (относительно) в C ++ и SO.

Разобравшись до предела креативности консольных приложений, мой очень оголтелый ум хочет знать, как кодировать GUI сейчас. Я провел небольшое исследование, решил использовать GTK, а не Qt, потому что у него была свобода выбора, не было никаких привязок и что-то о медленном интернете и необходимости загружать около 0,6 ГБ, если бы я пошел с Qt.

Это были жестокие 48 часов, когда я пытался создать Hello World на Gtk. Это я устраиваю истерику. Я использую Visual Studio 2010. Возможно, это источник всех моих проблем. Кажется, Gtk предназначен для C, а не C ++. После решения проблем с заголовочными файлами включается и определенный пресловутый glibconfig.h отсутствует (который я скачал из интернета только для того, чтобы найти, к моему ужасу, что это должен быть сгенерированный файл), компилятор выдавал синтаксические ошибки, особенно в одном gatomic.h,

Я подозреваю, что для каждого, кого мне удастся решить, возникнет 10 ошибок. Это то место, куда вы приходите. Используете ли вы Gtk для разработки c ++? Если нет, то почему? Что бы вы порекомендовали вместо этого? Вы используете Gtk на Windows? Как это возможно? Пожалуйста, дайте детали.

Можно ли создавать кроссплатформенные приложения, использующие код C ++ и графический интерфейс Python / VB?

Ваш ответ будет искренне оценен.

1

Решение

Прежде всего, общее замечание: Gtk в основном разрабатывается как инструментарий для Gnome, я думаю, будет справедливо сказать, что основное внимание уделяется высокому качеству Linux, тогда как другие платформы являются гражданами второго сорта. Это, вероятно, наиболее заметно, если взглянуть на интеграцию с родным интерфейсом Windows и MacOS. Если вы ищете инструментарий, который одинаково хорошо работает на всех основных платформах, я бы порекомендовал вам пересмотреть Qt.

Что касается ваших более конкретных вопросов:

C / C ++

Gtk написан на C, и, следовательно, имеет C API. Если вы ищете C ++ API, посмотрите на привязки Gtkmm. Обратите внимание, что вы также можете использовать C API в приложении C ++.

glibconfig.h

Я не знаю, пытались ли вы самостоятельно скомпилировать Gtk, но самый простой способ получить Gtk3 для Windows — загрузить предварительно скомпилированный пакет «все в одном» из http://www.gtk.org/download/win32.php (который включает в себя glibconfig.h, который вам не хватает).

Когда и как использовать Gtk и на каком языке

Как указывалось выше, основными пользователями Gtk являются люди, разрабатывающие приложения для среды рабочего стола Gnome. Однако в настоящее время большинство кроссплатформенных приложений используют Qt, поскольку качество в Windows и MacOS выше по сравнению с Gtk на этих платформах.

Что касается языка, который нужно использовать, сильная сторона Gtk заключается в том, что существуют привязки для многих языков (включая C ++ и Python), поэтому вы, конечно, не ограничены C.

При разработке с использованием C ++ мне лично больше всего нравится в Gtkmm то, что он использует стандартную библиотеку, в отличие от Qt, которая имеет свои собственные реализации для структур данных и т. Д. (Причина в том, что Qt предшествовал временам, когда STL был общедоступным и пригодным для использования на всех основных платформах).

Как использовать Gtk: в отличие от Qt, у которого есть превосходный Qt Creator, Gtk в некоторой степени не хватает специально разработанной IDE для легкой разработки. В итоге вы получите Glade для дизайна интерфейса и текстовый редактор или IDE на ваш выбор для кодирования, но этот выбор будет отличаться в зависимости от платформы, на которой вы работаете. Очевидно, что, как вы, наверное, заметили, интеграция Gtk в выбранную среду обычно требует некоторой работы (а также некоторых дополнительных технических знаний). Итак, еще раз, если вы ищете простую в настройке и использовании среду для разработки приложений с графическим интерфейсом, я бы просто пошел с Qt и Qt Creator.

Кроссплатформенные приложения

Во-первых, Visual Basic не является кроссплатформенным. Но, вообще говоря, существует множество возможностей для кросс-прикладной разработки с использованием различных языков.

3

Другие решения

Я должен был заставить проект gtk3 работать на windows несколько месяцев назад, когда gtk3 только что вышел для windows. У меня были проблемы с компиляцией в Visual Studio, и я разместил вопрос здесь, именно этот.

Вот как у меня это работает на окнах:

  1. Загрузите пакет «все в одном» для Windows с gtk.org
  2. Установите и т. Д., Установите каталоги / ссылки в рамках проекта. (лично я сбросил папки gtk в папку проекта, указал «include» в качестве директории include и «lib» в качестве директории ссылок, затем переместил любые файлы / папки, которые компилятор не может найти, в корень «include» )
  3. Если не настроено автоматически, добавляйте каталоги include и link по мере необходимости, пока компилятор не найдет все файлы.
  4. Если для компиляции используется MinGW, то в этот момент все получится.
  5. Если вы используете Visual Studio, вам нужно изменить заголовки gtk, как описано в списке рассылки gtk:

    В строках gutils.h 82 и 122 и в строке gstring.h 129 измените
    «статический встроенный» в «статический __inline».
    Blockquote
    Обратите внимание, что модификация не влияет на способность MinGW к компиляции.

Я успешно скомпилировал свой проект gtk3 в обоих окнах (с использованием Visual Studio или Code :: Blocks) и Linux без написания кода для конкретной платформы. Только не забудьте включить необходимые библиотеки времени выполнения в программу при ее отправке.

0

По вопросам рекламы [email protected]