Linux + GTK + C läuft nur in Verbindung mit Konsole :-(
-
Vielen Dank!,
dachte immer das -s == --static ist.
ich weiss ja nicht wie groß die datei dann werden würde, 5 MB wäre so die grenze (statt ~15 KB!). Wichtig ist mir die kompatibilität unter den Linux-Systemen, da ich das programm auf 5 verschiedenen system (versionen) verwende.
werde mal versuchen statisch zu gcc'en
-
GPwC schrieb:
Das refreshen kannst du dir sparen. Implementiere deine Aktion einfach als Thread (Glib::Thread bietet sich an) und lass sie laufen. Über einen Signal-Handler kannst du dann z.B. den Fortschritt an das GtkWindow senden.
Bin gerade am kompilieren, hast du mal praktisch einen funktionsaufruf, damit der thread im hintergrund läuft?
MfG & Danke!
Edit:
ich habe jetzt mal selber eine weile gesucht, finde bis auf den Cpp funktionsaufruf kein C aufruf. scheint sowasGlib::thread_init(); in der richtung zu sein jedoch leider nicht der richtige (habe schon ein bisschen herumprobiert jedoch ohne erfolg).
-
-
hallo, das mit dem selbstcompilieren hat nicht so ganz geklappt, jedenfalls nicht die installation, danach musste ich neu installieren...ich habe mal in der paketverwaltung nachgesehen glib gibt es auch statisch würde das ausreichen?
Noch eine Frage wie müsste ich denn statisch kompilieren also welche optionen, die mit pkg config usw.
-O2 -g0 -static `pkg-config --cflags gtk+-2.0` \
`pkg-config --libs gtk+-2.0`ist bestimmt falsch oder?
MfG & Danke!
-
cens schrieb:
hallo, das mit dem selbstcompilieren hat nicht so ganz geklappt, jedenfalls nicht die installation, danach musste ich neu installieren...ich habe mal in der paketverwaltung nachgesehen glib gibt es auch statisch würde das ausreichen?
Wenn es dir reicht, das die glib statisch dazugelinkt wird, schon. Ansonsten: nein.
Ich kann dir aber nicht sagen, ob und wie man gtk+ statisch linkt, weil ich das (a) noch nie gemacht habe und (b) die Idee auch ziemlich schwachsinnig finde. Wenn man gtk+ statisch bauen kann, muss man ihm das irgendwo mitgeben, schätzungsweise bei den Parametern der Autotools. Näheres kann ich dir auch nicht sagen.Daher mein Vorschlag: VERGISS es, gtk+ und Konsorten statisch linken zu wollen, das ist eh überall installiert und wg. Kompatibilität muss man sich wenig Sorgen machen.
Noch eine Frage wie müsste ich denn statisch kompilieren also welche optionen, die mit pkg config usw.
-O2 -g0 -static `pkg-config --cflags gtk+-2.0` \
`pkg-config --libs gtk+-2.0`ist bestimmt falsch oder?
Doch, stimmt.
MfG
GPC
-
Daher mein Vorschlag: VERGISS es, gtk+ und Konsorten statisch linken zu wollen, das ist eh überall installiert und wg. Kompatibilität muss man sich wenig Sorgen machen.
Vielen Dank,
Das kommt mir natürlich recht. Wegen der Kompatibilität: ich habe es auf SL 10.2 erstellt und auf 9.2 läuft es nicht (irgendeine pango/cairo fehlt).
In wie weit ist denn gtk+ Abwärtskompaitbel?
Danke!
-
cens schrieb:
Das kommt mir natürlich recht. Wegen der Kompatibilität: ich habe es auf SL 10.2 erstellt und auf 9.2 läuft es nicht (irgendeine pango/cairo fehlt).
Hat es nicht kompiliert oder hast du das binary von Slack 10.2 einfach auf 9.2 ausgeführt?
Wenn letzteres: Es ist klar, dass es nicht klappt. Schließlich erwartet das Programm die Versionen von gtk+, mit denen es gebaut wurde.
Wenn ersteres: Das ist nicht verwunderlich, denn Slack 9.2 ist ja nun schon ca. 4 Jahre alt und da war bei gtk+ noch nicht alles so, wie es heute ist.Selbst wenn dem Nutzer z.B. cairo fehlt, kann er dies nachinstallieren. Fast alle Distributionen bieten ja einen Paketmanager an (der meistens auch Abhängigkeiten auflöst, na ja, der von Slack tut das ja nicht).
In wie weit ist denn gtk+ Abwärtskompaitbel?
Kommt drauf an, was du alles verwendet hast. Bei deinem jetzigen Programm brauchst du dir keine Gedanken zu machen, das kompiliert wohl auch unter gtk+ 1.x
. Funktionen, die erst seit der aktuellen Version dazugekommen sind, solltest du eher nicht verwenden, wenn du möchtest, dass auch Leute, die ein etwas älteres gtk+
2 installiert haben, dein Programm nutzen können. Die Gefahr sehe ich bei dir jetzt aber auch nicht
-
gut Slack meinte ich nicht, sondern SuSE 9.2 ist aber auch nicht besser, genausoalt
angenommen jemand möchte mein chaotisches programm doch noch mal verwenden, was muss er sicher installiert haben?
Ich tippe auf:
gtk+
pango
cairo
glibDanke!
-
cens schrieb:
gut Slack meinte ich nicht, sondern SuSE 9.2 ist aber auch nicht besser, genausoalt
oops. Ja, das ist nicht besser, in keiner Hinsicht.
angenommen jemand möchte mein chaotisches programm doch noch mal verwenden, was muss er sicher installiert haben?
Ich tippe auf:
gtk+
pango
cairo
glibGenau.
-
Nach einer Weile durch Zufall:
Der Konqueror (der den ich habe) führt Dateien nicht standardmäßig im Homeverzeichnis aus. Wenn man mit shellskript vorher dort hin wechselt klappt alles super!
Danke!