crossplatform.ru

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


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

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

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


Последние 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 Текстовая версия Сейчас: 23.2.2020, 16:59