crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Компиляция GTK под Windows
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
sunny Дата 11.5.2011, 5:59
 
Цитата(Iron Bug @ 4.5.2011, 13:43) *
это можно сделать. но ты упаришься линковать отдельные .a файлы и выходной файл будет поистине огромен.

В исходниках есть makefiles для win32. У configure даже есть ключ --enable-static для сборки статической библиотеки.
Так что запарки при сборке GTK теоретически должно быть минимум, потом меняем родные *.a или *.lib файлы на статические и дальше компиляция приложения идёт без отличий.
Другое дело выходной размер файла, думаю для приложения он будет 3-10 Мб, но по любому не больше чем таскать с собой 12-15 Мб dll-библиотек. А вот каталоги etc и lib наверное придётся с собой всё равно таскать, так что в один файл наверное не уложиться (из за чего статическая линковка теряет смысл).
Iron Bug Дата 4.5.2011, 13:43
  это можно сделать. но ты упаришься линковать отдельные .a файлы и выходной файл будет поистине огромен.
Гость_sunny_* Дата 3.5.2011, 20:27
  Я давно хочу сделать статические библиотеки для GTK, заманчиво не таскать с собой кучу DLL библиотек.
Я вижу единственный вариант как это сделать - скачать исходники glib, gtk, pango и прочее,
потом по порядку создать статические библиотеки *.a (или *.lib для компиляции в VisualStudio)
Гость_sunny_* Дата 3.5.2011, 20:21
  Чтобы применить тему в стиле Windows нужно в файле C:\GTK\etc\gtk-2.0\gtkrc [У меня GTK стоит в папке C:\GTK]
написать:
gtk-theme-name = "MS-Windows"


Гость_Andra_ Дата 26.4.2011, 20:43
 
Цитата(Iron Bug @ 2.12.2010, 21:17) *
gtk можно собрать статически и линковать в виде статических библиотек. тогда не будет зависимостей. но файл, соответственно, будет жирный.


Можно поподробней, как это сделать?
И еще вопрос, как добавить к окну соответствующее оформление Windows, чтобы было не в стиле 98 windows?
Iron Bug Дата 2.12.2010, 21:17
  а -mwindows у тебя был указан?

gtk можно собрать статически и линковать в виде статических библиотек. тогда не будет зависимостей. но файл, соответственно, будет жирный.
Andra Дата 2.12.2010, 20:47
  я разобрался, компилировать он хочет только одним способом. Вот он:
1) Пишем makefile и помещаем его в папку home
2) Его содержимое:
CC=gcc
CFLAGS=`pkg-config --cflags --libs gtk+-2.0`
CFLAGS+=-mwindows
SRC=name.c
OBJ=$(SRC:.c=.o)
OUT=name.exe

all: $(OUT)
    rm $(OBJ) #Remove .o

$(OBJ) :
    $(CC) $(SRC) $(CFLAGS) -c #Create .o

$(OUT) : $(OBJ)
    $(CC) $(OBJ) $(CFLAGS) -o $@ #Link .o

3) В msys.bat пишем make и все работает
И делается это только так. Файл становится зависимым от dll библиотек из папки bin и без них не запускается.
Т.е. теперь надо их всегда складывать в папку к моей программе или можно от этого как-нибудь избавиться?)
И еще интересно почему не сработал обычный способ компиляции gcc name.c `pkg-config --cflags --libs gtk+-2.0`?
Litkevich Yuriy Дата 28.11.2010, 13:03
 
Цитата(Andra @ 28.11.2010, 3:58) *
2) Распаковываю gtk+-bundle_2.22.0-20101016_win32. Заменяю все файлы в папке MinGW. Или надо только дописывать недостающие?
вот это что-то вообще не то. папку компилятора трогать не надо.
Iron Bug Дата 28.11.2010, 10:52
  а ты проверял, что у тебя pkg-config --cflags gtk+-2.0 выдаёт нужные результаты? может, в путях не прописано что-то и там пусто вообще.
Andra Дата 28.11.2010, 2:41
  ухх, ну я совсем замучался, все варианты перепробовал, никак не пойму почему не работает...
Может есть какие еще варианты или я что-то не так делаю?
P.S. у меня есть Visual Studio 2010 pro, может быть там можно что-нибудь сделать?
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 0:51