Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

08.03.2007, 20:32

C Prog unter allen Distros

Hallo,

hab folgendes Problem:
Hab ein C Programm geschrieben unter Windows. Dieses ist auch theoretisch unter Linux lauffähig. Hab nun folgende Fragen:

1. Wenn ich ein C Programm unter einer Linux Distribution kompiliere ist diese Prog dann auch unter allen anderen Distros lauffähig?

Wenn nein: Woran mache ich das fest? Soll heissen kommt es beispielsweise auf die Kernel Version an.

2. Wie schaffe ich es, dass es lauffähig ist auf Allen bzw. auf den Meisten?

gruss

P.S. Wie ihr wahrscheinlich bemerkt habt, hab ich sogut wie null Ahnung von Linux. Bitte erklärts mir als Windows User so, dass es idiotensicher ist . :()

Imhotep

followed the white rabbit

Beiträge: 1 530

Wohnort: Leipzig

Beruf: Informatiker

  • Nachricht senden

2

08.03.2007, 21:07

RE: C Prog unter allen Distros

Zitat

Original von VonNixNeAhnung
Bitte erklärts mir als Windows User so, dass es idiotensicher ist . :()

Nö, dazu ist nun echt keine Zeit.
Es kann verschieden Ursachen haben, wenn ein Programm nicht auf einer anderen Distribution läuft.
1. Falsche Architekturwahl beim Kompilieren (Bsp. es wurde auf i686-Spezifikation kompiliert, der andere Rechner ist aber nur ein i386)
2. Fehlene, anderst gelinkte oder in falscher Version vorhandene dynamische Bibliotheken.
3. Ein 32-bit Programm auf einer 64-bit Maschine

Mit der Kernelversion hat das wohl als letztes was zu tun.

Wenn du sicher gehen willst, musst du es halt auf dem Zielsystem kompilieren lassen (siehe configure und make)
Oder alles fest ein kompilieren und auf i386-Standard.
localhost,
sweet localhost

3

08.03.2007, 21:13

Thx erstmal. Hilft mir schon weiter.

Also Punkt 1. und 3. sind auszuschließen. Punkt 2. scheint mir wahrscheinlich. Kannst du mir erklären, was du mit fest einkompilieren genau meinst?

gruss

Imhotep

followed the white rabbit

Beiträge: 1 530

Wohnort: Leipzig

Beruf: Informatiker

  • Nachricht senden

4

08.03.2007, 21:33

Hab schon lang und nicht so intensiv mit dem gcc gearbeitet und ein gutes Buch kann und will ich gar nicht ersetzten.

Man kann die Option -static verwenden, um den gcc zu zwingen dynamische Bibliotheken fest in das Programm einzubinden.
localhost,
sweet localhost

Thema bewerten