[ god_of_thunder @ 01.05.2003. 13:50 ] @
ovaj kod bi prema dokumentaciji kdevelopa trebalo da radi:

QString data=kapp->kde_datadir();

ali dobijam gresku:

recnik.cpp:32: no matching function for call to `KApplication::kde_datadir()'

jel neko zna u cemu je problem ili kako da dodjem do fajla koji sam smestio u
$(kde_datadir)?
[ 6544616a006e @ 01.05.2003. 22:50 ] @
Ili te ja ne razumem, ili si ti pobrkao lončiće...

U ovoj priči ne mogu da budu $(kde_datadir) i metod kde_datadir() ... prvo je neka promenljiva iz šela, drugo je prosto C++ metod (funkcija)

Savetovao bih ti da još malo pogledaš tu dokumentaciju, ovako kako si ovde napisao 101% neće ništa raditi!
[ god_of_thunder @ 02.05.2003. 00:05 ] @
$(kde_datadir) je shell promenljiva koju postavljam u kdevelopu (project->file properties) kako bih naznacio gde fajl treba da bude instaliran (sa make install) kde_datadir predstavlja putanju do podataka koje koristi aplikacija.

A kde_datadir() je metod kojim bi ja trebalo da pristupim tim podacima tj. kapp->kde_datadir() treba da vrati putanju za podatke koje koristi aplikacija nezavisno na kom sistemu radi.

Isto tako postoje i metode: kde_htmldir,kde_icondir,kde_sounddir ... za dobijanje fajlova koji se tamo nalaze.
[ 6544616a006e @ 03.05.2003. 00:58 ] @
hajde leba ti kucaj ovo
Citat:
cat configure.in Makefile.am | grep kde_datadir
i daj nam rezultat...

[Ovu poruku je menjao Gojko Vujovic dana 05.05.2003. u 01:32 GMT]
[ god_of_thunder @ 04.05.2003. 11:59 ] @
u fajlovim configure.in i Makefile.am ne postoji kde_datadir, ali u Makefile fajlu postoje linije:

datadir = ${prefix}/share
pkgdatadir = $(datadir)/recnik
kde_datadir = ${prefix}/share/apps


i u fajlu memo.kdevprj postoji linija:

install_location=$$(kde_datadir)/memo/memo.dat

Mozda lupam posto prvi put ovo radim, jer sam vec napravio program pa pravim distribuciju, ali ne znam kako da pristupim /$prefix/share/apps/... i na sistemima na kojima su putanje drugacije jer
sigurno fopen("/usr/share/...","r") mi ne bi zavrsio posao, a ovo o cemu sam pricao sam procitao sa:

http://www.kdevelop.org/doc/programming/index-14.html

a ima i u kdevelop helpu.
[ Goran Rakić @ 04.05.2003. 23:36 ] @
koristi fopen(KDE_DATADIR"/datoteka.dat") i to će raditi. make postavlja varijable, ako je ispravno napisan Makefile kao parametre gcc-u prilikom kompajliranja...
[ god_of_thunder @ 05.05.2003. 14:42 ] @
Citat:
koristi fopen(KDE_DATADIR"/datoteka.dat") i to će raditi. make postavlja varijable, ako je ispravno napisan Makefile kao parametre gcc-u prilikom kompajliranja...


probao sam tako ali mi govori da KDE_DATADIR nije deklarisano, a u Makefile postoji linija:
Code:
kde_datadir = ${prefix}/share/apps


dakle Makefile je ispravno napisan samo ostaje pitanje dali make to predaje kao varijablu prilikom kompajliranja, probao sam i da napravim konstantu u fajlu Makefile sa
Code:
KDE_DATADIR = ${prefix}/share/apps
ali opet nista.
[ god_of_thunder @ 06.05.2003. 10:07 ] @
Nasao sam resenje sa kde1.x i kde2.x pristupa se putanjama sa kapp->datadir(); a u kde 3.0 uvedena je klasa KStandardDirs za tu namenu.