Resourcen unter Linux
-
Servus,
ich wollte nur fragen, ob es unter Linux mit G++ sowas wie Resourcen gibt, also Dateien, die eincompiliert werden und aus denen später zur Laufzeit bestimmte Dinge ausgelesen und benutzt werden können (z.B. Icons, Menüs, ...)
Vielen Dank schonmal für eure Hilfe!
-
eigentlich nicht, dafür nutzt man in der Regel ein Unterverzeichniss unter $PREFIX/share/<programname> (wobei PREFIX idr. /usr/ oder /usr/local/ ist :))
-
Die Antwort von Kingruedi stimmt nicht ganz.
Wenn du Texte grundsätzlich über gettext() einbindest, z.B.:printf("%s\n", gettext("no memory")); /* statt printf("No memory.\n"); */
dann kannst du den Inhalt jederzeit über die Message-Object-Dateien ändern, ohne das Programm neu zu übersetzen. Der Zweck ist hier eigentlich, über die Umgebungsvariable LANG die Sprache umzustellen.
Martin
-
mit Qt geht das recht schön, da kannst du qembed benutzen und komplette icons/bilder eincompilieren, die du dann z.b. als QPixmaps oder QImages benutzten kannst... ansonsten hast du noch die möglichkeit, einfach
#include "mein_bild.xpm"
auf diese art und weise XPM-Bilder einzubinden und dann ist automatisch das char-array/char-ptr mein_bild definiert, dass du dann z.b. dem konstruktor von QPixmap übergeben kannst (noch ein const char * cast ist u.U. nötig)