RSE hat geschrieben:Also wenn dein "Jedermann" mit Sicherheit Linux hat, dann sehe ich dein Problem nicht. Soweit ich weiß, können 64-Bit Betriebssysteme auch 32-Bit Programme ausführen (das ist zumindest bei Windows so), nur umgekehrt natürlich nicht. Am Besten du sagst noch mal genau, auf welchen Systemen dein Programm nun alles laufen soll und wo du die Probleme siehst.
Naja, dummerweise braucht man dann aber auch die passenden 32bit Bibliotheken. Die will nicht jeder zusätzlich in seinem 64bit System rumschwirren haben.
Hitman hat geschrieben:Naja, dummerweise braucht man dann aber auch die passenden 32bit Bibliotheken. Die will nicht jeder zusätzlich in seinem 64bit System rumschwirren haben.
Achso. Na dann muss er eben 2 Versionen beilegen. Ich bin mal gespannt, auf was für Systemen er nun seine Software tatsächlich alles laufen lassen will. Der Großteil der Beiträge in diesem Thread fragt nur nach mehr Infos von Alci
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
Ich könnte mir eine Script Datei vorstellen, die dein Programm Automatisch für zwei Varianten Kompiliert : Einmal 32 Bit und einmal 64 Bit und eventuell auch noch für andere betriebsystem. Weil nicht jeder kann ein Projekt Kompilieren. Ich habe bei manchen C++ Projekten Extreme sie zu Kompilieren, weil der Kompiliere X Fehler Meldungen schmeißt. Daher ist es wohl am einfachsten, wenn du bereist dein Projekt vorkompiliest und du könntest ja immer noch deine Source-Code Anbieten, für die Leute die es lieber Selbst Kompilieren wollen.
Ein Anders Problem ist ja nicht nur die LCL muss vorhanden sein auf dein Ziel System sondern auch alle anderen "Externen" Bibliotheken. Um Es einfacher zu machen: Nutzt am besten nicht die LCL. Dann wird es aber wieder Problematisch...
Bald gibt es was besseres für Linux: FatELF packt 64bit und 32bit ELFs in einer Datei zusammen. Biss die entsprechenden Patches im Kernel, Linker und diversen anderen Komponenten sind kann es aber noch dauern.
Nein. Unter Windows muss man die Programme einzeln oder als .NET-Anwendungen abliefern. MacOS-X hat mit den "Universal-Binaries" etwas vergleichbares. (Soviel allgemein zu portablen Anwendungen)
Targion hat geschrieben:Bald gibt es was besseres für Linux
Ob das wirklich so eine gute Sache ist? Das Ganze ist ja nicht rückwärtskompatibel und bewirkt grössere Programmdateien. Ich sehe den Vorteil nicht wirklich.
pluto hat geschrieben:Eigentlich ist die Idee ja so ähnlich wie C-Shape oder .Net oder ?
C-Shape sagt mir zwar gar nix, aber .Net ist doch, wenn ich das richtig verstanden habe, eher ein Framework, das von allen hardwarespezifischen Sachen abstrahieren soll (eher mit Java vergleichbar) und ein .Net-Programm nur vorkompiliert für das Framework. Bei der Ausführung wird der Code dann eher interpretiert (von Interpreter) als ausgeführt (Im Sinne einer exe). Die universal binaries enthalten dagegen doppelten ausführbaren Code, ohne dass dafür ein Interpreter benötigt würde.
Seit er seinen neuen Computer hat, löst er alle Probleme, die er vorher nicht hatte!
.NET CLI-Code wird mit einem Just-in-time compiler kompiliert. (Wikipedia weiß mehr zum "Jittern") C# ist die Sprache von Microsaft für .NET und Mono. (Enthält elemente von Java, Delphi und C) FatELF generiert wirklich relativ große binärdateien, der Nutzen der Sache liegt mehr beim Nutzer, der nicht mehr die richtige Datei für seine Plattform suchen muss. Die Sache ist Geschmackssache
Targion hat geschrieben:der Nutzen der Sache liegt mehr beim Nutzer, der nicht mehr die richtige Datei für seine Plattform suchen muss.
Naja, aber gerade unter Linux benutzt man doch entweder einen Paketmanager oder man "maked" die Software gleich selber. In beiden Fällen nützt "die Sache" ja nix.
So nochmal zu Infos: Ich habe programmiert und wollte halt einem Freund oder mehreren das Programm geben, dann soll er am besten mit Doppelklick das Programm öffnen können. Ich habe hier ein 32-bit System und der andere entweder 64-bit oder 32-bit, aber beide Ubuntu Linux. Ich hatte nämlich bei meinem 64-bit System mal Probleme gehabt, andere konnten die kompilierte Datei nicht öffnen.
=> DEB-Paket packen => IPK-Setup erstellen (hähä... Diese Lösung (noch) nicht ganz so ernst nehmen) => Mittels ldd die Abhängigkeiten rausfinden und die nötigen Pakete manuell installieren. 64bit binaries laufen generell nicht auf 32bit-Systemen, umgekerhrt aber schon.