Для того чтобы компилировать исходники gtk программы в среде windows нам необходимо проинсталлировать в windows такие пакеты: GTK+, MinGW, MSYS. Дадим очень краткое определение этим трем пакетам. GTK+ - это набор инструментариев для создания графического интерфейса. MinGW - минимальная среда разработки GNU для windows. MSYS - юниксоподобная командная оболочка для windows.
Начинаем.
Идем сначала на сайт www.gtk.org находим раздел загрузки GTK+ для windows и выкачиваем all-in-one bundles (переводится "все в одной связке", а вообще можно по отдельным компонентам выкачивать, но это не для нашего случая).
Затем идем на www.mingw.org и выкачиваем пакет MinGW. В нем содержатся компилятор gcc и GNU binutils (ассемблер, редактор связей, менеджер архивов) для windows.
Ссылка для загрузки перебросит нас на sourceforge.net. Там, я так понял тоже можно почастям этот пакет устанавливать, но мы возьмем установщик MinGW через сеть: Download mingw-get-inst-xxxxx.exe.
"Визуализирую" шаги инсталлирования:
Далее принимаем лицензионное соглашение. И указываем путь, по которому устанавливаем MinGW. Принимаем установку по умолчанию: C:\MinGW. Хотя я бы предпочел другой путь - в "Programm Files". Мне кажется, что так логичней. Оставим это как "домашнее задание". Далее вас спросят какой из предоставляемых компиляторов вы хотите видеть в своей системе (я выбрал компилятор си и фортрана), а также предоставят выбор ставить или не ставить MSYS Basic System, MinGW Developer Toolkit и MSYS System Builder. Я выбрал для установки все три, но это (в моем случае) не избавило меня устанавливать MSYS отдельно.
Изменяем системную переменную Path. Добавляем в конец строки значения переменной: C:\MinGW\bin\;
MinGW установлен. Теперь займемся MSYS. Идем на www.mingw.org/wiki/MSYS и выкачаем его инсталлятор. Запустим на выполнение:
Читаем лицензию и другую полезную информацию (ну жмем постоянно кнопку next). Далее выбираем путь, по которому будет устанавливаться MSYS. В нашем случае это: C:\MinGW\msys\1.0. Эта директория существует. И вас спросят, перезаписать ли ее. Отвечаем утвердительно. Далее будет задано несколько вопросов из консоли, то есть вам надо будет нажимать "y", а не NEXT.
На этом с MSYS покончено. Теперь мы можем вызывать командную оболочку MinGW из меню windows и со всеми юниксовыми особенностями и удобствами в ней работать.
Займемся теперь вплотную GTK:
Так же необходимо изменить переменную Path. Добавляем к строке, определяющей эту переменную следующее: C:\GTK\bin\;. Далее просто распаковываем содержимое "all-in-one bundles" в директорию C:\GTK. Тест на то, все ли в порядке, прост. Запускаем MinGW shell и из него смотрим, видит ли команда pkg-config библиотеки и заголовочные файлы GTK:
Также из оболочки можно запустить, входящую в комплект поставки этого "bundle" приложение gtk-demo. С помощью его можно изучать как писать GTK программы:
Теперь создадим файл demo-gtk.c следующего содержания:
#include <gtk/gtk.h>
static gboolean delete_event( GtkWidget *widget,
GdkEvent *event,
gpointer data )
{
g_print ("delete event occurred\n");
return FALSE;
}
static void destroy( GtkWidget *widget,
gpointer data )
{
gtk_main_quit ();
}
int main( int argc,
char *argv[] )
{
GtkWidget *window;
GtkWidget *label;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "delete-event", G_CALLBACK (delete_event), NULL);
g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
gtk_widget_show (window);
label=gtk_label_new("HELLO!");
gtk_container_add (GTK_CONTAINER (window), label);
gtk_widget_show (label);
gtk_main ();
return 0;
}
и компилируем командой из MinGW shell, запускаем на выполнение и видим результат:
Файл находится и команда компиляции запускается с директории, которая в терминах windows находится (в нашем случае) по пути C:\MinGW\msys\1.0\home\user, где user - это наша учетная запись в windows.
Для короткого введения в данную тему - все.
Комментариев нет:
Отправить комментарий