binary, die auf allen linuxen laeuft
-
hallo,
ich hab ein kleines program mit qt4 geschrieben. wenn ich es auf meinem pc ausfuehre, dann gehts ohne probleme. wenn ich das ganze aber auf nem pc ohne qt4 ausfuehren will, dann gibts einen fehler weil er die libs nicht gefunden hat.ich glaube, dass ist irgend so ein zeugs wegen dynamischer bindung etc. wie kann ich also mein prog. so kompilieren, dass es auf allen pc's laeuft? oder ist das ueberhaupt nicht moeglich?
ide ist kdevelop, bibliotheken gibts nur eine (qt 4.1). system natuerlich linux. am besten waers, wenn das nur eine einzige ausfuehrbare datei waere.
ich geb mich auch gern mit etwas literatur zufrieden, allerdings weiß ich ueberhaupt nicht wo ich da anfangen soll.
mfg aman..
edit:
ich hoffe, das ist das richtige forum..
-
Du kannst natuerlich statisch linken, aber: Wieso? Eine vernuenftige Paketverwaltung kann automatisch die benoetigten Pakete installieren. Erstell also ein ebuild, ein .deb und ein .rpm, und gut ist.
-
danke fuer die antwort.
wieso statisch?
weil mir das erstellen einer deb und einer rpm fuer zig verschiedene distris zu viel arbeit ist. außerdem sollte es nach moeglichkeit auch von knoppix oder sowas laufen ohne groß was nachzuinstallieren (das prog misst die akkulaufzeit eines laptops). und das programm ist wirklich nicht groß..aber wie kann ich denn statisch linken?
ich hab noch nie mit kompileroptionen etc gearbeitet. das hat bis jetzt immer die ide uebernommen (und dort hab ich keine option dafuer gefunden).mfg aman
-
SG1 schrieb:
Erstell also ein ebuild, ein .deb und ein .rpm, und gut ist.
toll... 3-fache Arbeit dafür, dass man am Ende ein paar Distributionen unterstützt, die in ihrer Version zufällig die selben libs aufm Rechner haben
Wirklich gut ist nur eine statische Version und der Quelltext. Solche speziellen Pakete sind nett, wenn man die entsprechende Distri hat.
aMan schrieb:
aber wie kann ich denn statisch linken?
du brauchst die libs, die du benutzt, als statisch, d.h. die .a-dateien. Als gcc-option gibts noch -static (irgendwo in deiner IDE kann man bestimmt gcc-parameter festlegen...).
Komplett durchblicken tu ich da aber auch nicht immer. Obs geklappt hat, siehst du mit ldd. Obs dann überall funktioniert, weiß ich aber auch nicht.
-
danke.
aber es muesste doch ne loesung mit qt geben. schließlich soll es ja auch auf windows und ev. mac gehn.
mfg aman..
-
Wenn Dir das zuviel Arbeit ist, ueberlass die Arbeit den Distributionen und biete selber nur den Quellcode an. Statisch Linken ist IMHO baeh.
-
is nich baeh, is freundlich...
aMan schrieb:
aber es muesste doch ne loesung mit qt geben.
wie gesagt, du brauchst die statischen versionen der libraries... wenn du die von qt nicht hast, musst du sie dir besorgen bzw. ensprechend selbst kompilieren.