Portál AbcLinuxu, 5. května 2025 09:15

Dotaz: Distribuce *.glade souboru s aplikací

6.4.2012 18:36 h0nzZik | blog: Osel a stín
Distribuce *.glade souboru s aplikací
Přečteno: 176×
Odpovědět | Admin
Dobrý den, mám program, který si buduje GUI pomocí GtkBuilder. Rád bych ho nějak zabalil (aby šlo lehce použít make install, RPM), jenže nevím, kam umístit *.glade soubor a odkud ho v aplikaci brát. Bohužel řešení ve stylu: make PREFIX=$RPM_BUILD_ROOT/usr/local a načítání glade souboru z tohoto umístění není ideální, protože RPM nakonec překopíruje soubory z $RPM_BUILD_ROOT/usr/local do umístění /usr/local, takže aplikace na očekávaném umístění nic nenalezne.

Není to problém jenom s tím *.glade souborem, stejně dobře mohu chtít načítat i něco jiného. Jak se tohle řeší?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

6.4.2012 19:39 petris
Rozbalit Rozbalit vše Re: Distribuce *.glade souboru s aplikací
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja ho zakompilovavam do binarky - da se pak udelat staticka binarka, ktera jde pustit odkudkoliv.
6.4.2012 20:44 h0nzZik | blog: Osel a stín
Rozbalit Rozbalit vše Re: Distribuce *.glade souboru s aplikací
To zní jako dobrý nápad.. nějaký jednoduchý způsob, jak z toho xml souboru udělat Cčkovský řetězec?
Josef Kufner avatar 6.4.2012 20:56 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Distribuce *.glade souboru s aplikací
V Qt je na tohle Qt resources. Pro Gtk jsem kdysi něco podobného hledal a nenašel (existuje to vůbec?).

Pokud nic lepšího nenajdeš...
(
  echo "char *$name =";
  sed -e 's/\\/\\\\/' \
      -e 's/"/\\"/' \
      -e 's/^/"/' \
      -e 's/$/"/'
  echo ";";
) < "$name.xml" \
  > "$name.c"
(
  echo "extern char *$name;"
) > "$name.h"
(netestováno)
Hello world ! Segmentation fault (core dumped)
6.4.2012 21:58 petris_ | skóre: 12
Rozbalit Rozbalit vše Re: Distribuce *.glade souboru s aplikací
Zbytecne komplikovane, delam to takto:
.globl gui_definition
.data
gui_definition:
.incbin "src/gui.xml"
.byte 0x00
Řešení 2× (h0nzZik (tazatel), mimi.vx)
7.4.2012 00:50 l4m4
Rozbalit Rozbalit vše Re: Distribuce *.glade souboru s aplikací
Odpovědět | | Sbalit | Link | Blokovat | Admin
Bohužel řešení ve stylu: make PREFIX=$RPM_BUILD_ROOT/usr/local a načítání glade souboru z tohoto umístění není ideální, protože RPM nakonec překopíruje soubory z $RPM_BUILD_ROOT/usr/local do umístění /usr/local, takže aplikace na očekávaném umístění nic nenalezne.
A nepřijde ti zvláštní, že všem ostatním to funguje? V

%configure

se ./configure předá skutečný prefix, a na ten se nehrabe. V

make install DESTDIR=$RPM_BUILD_ROOT

se pak software fyzicky nainstaluje někam jinam, ale stále očekává, že bude finálně běžet s prefixem zadaným ./configure. Což taky bude, takže s tím není problém. Stačí dodržovat standardní konvence...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.