PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie kann man GTK statisch linken?



Christoph
18-09-2001, 16:03
Linkeroption --static.

Voraussetzung ist allerdings, dass du das Devellopmentpaket von GTK installiert hast, denn nur da sind die Statischen Bibliotheken drin.

Achtung: statisches Linken gegen LGPL Libraries ist nur bei GPL-Programmen erlaubt!
Das ist zwar traurig, aber wahr.

iGEL
18-09-2001, 16:58
Moin!

> Achtung: statisches Linken gegen LGPL
> Libraries ist nur bei GPL-Programmen erlaubt!
> Das ist zwar traurig, aber wahr.

Warum ist das traurig? Ich finde das gut :)

cu Johannes

Lin728
18-09-2001, 17:16
Danke für eure Hilfe!
Hab aber das noch nich ganz kapiert:
gcc `--gtk-config --libs --cflags` gtk1.c;
so kompilier ich meine Sache immer.
Wie kann ich jetzt static benutzen, weil wenn ich einfach zu gcc --static dazuschreib, kennt er mir dir libs von GTK-Config nimma, und wenn ichs zu gtk-config dazuschreib, regt sich gtk-config über nicht passenden Synatyx auf!
Also wo jetzt hin mit dem static?

PS: GTK is LGPL, da kann die Anwendung ruhig komerziell sein, macht nichts (Siehe Turboprint)! Aber mach mein Programm sowieso frei.

Danke nochmal!!

PS: Wie kann ich spezifizieren, wie das Programm heißt, das ausn Gcc rauskommt?

Lin728
18-09-2001, 23:38
Wie kann man Programme mit Linux-Librarys wie z.B. GTK+ statisch linken, so dass der Benutzer nicht die Biliothek installiert haben muss, um da Programm benutzen zu können (Aber dafür halt das Programm größer ist)?
Diesese Verfahren nehmen z.B. große Softwarefirmen wie Opera, damit man nicht extra QT nur für Opera installieren muss.
Gibts das auch für Windoof, dann kann ich meine GTK-Progs auch für die andere Betriebsystemversion kompilieren. (Man kann doch nicht on den doofen Wino*** Anwendern verlangen, dass sie ne lib nachinstallieren)

Danke für eure Hilfe schon im Vorraus! :confused:

Christoph
19-09-2001, 09:03
@iGEL
+ Warum ist das traurig? Ich finde das gut
+
Das Problem ist, dass nur durch statisches Linken gewährleistet werden kann, dass ein Programm auf allen Linux-Distributionen läuft. Wenn das statische Linken aber für kommerzielle Software verboten ist, dann heisst das, dass diese Software nur für eine Distribution (meistens RedHat) angeboten werden kann.

Weil der Benutzer der Lib sie ja nicht verändert und der Sourcecode der Lib jedem zur Verfügung gestellt werden kann, halte ich das verbieten des statischen Linkens für eine absurde Spitzfindigkeit.

@Clinuxhippy

--static ist eine LINK-Option keine COMPILIER-Option. Name des Executables: Option -o. weitere Infos: "man gcc" und "info gcc".

Lin728
20-09-2001, 10:40
Danke!