Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Gothi
Anmeldungsdatum: 04.10.2014 Beiträge: 2
|
Verfasst am: 04.10.2014, 18:40 Titel: Datei nicht ausführbar |
|
|
Hallo,
ich nutze die Linuxversion von Freebasic (mit Geany).
Wenn ich mein Programm unter Geany kompiliere, dann kann ich die Datei auch später problemlos auf meinen PC (Linux Mint) ausführen.
Ich brauche mein Programm aber für den RaspberryPi, auf dem laüft Raspbian (Debian). Wenn ich dort von der Konsole mein Programm aufrufe, dann erhalte ich als Fehlermeldung: "Kann Datei nicht ausführen".
Jetzt bin ich ein wenig ratlos woran das liegt. Fehlen da irgendwelche Bibliotheken etc. ?
edit: Mein Programm ist eine reine Konsolenanwendung.
mfg Gothi |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 04.10.2014, 18:49 Titel: Intel x86 vs ARM |
|
|
Hallo und willkommen im Forum!
Es gibt inzwischen Möglichkeiten, FreeBASIC auf ARM-basierten Plattformen wie dem Raspberry Pi auszuführen und somit auch FreeBASIC-Programme für diese Plattformen zu erzeugen.
Allerdings besteht zwischen PCs und ARM-basierten "Mikrosystemen" wie dem Raspberry Pi keine Binärkompatibilität bei den ausführbaren Dateien. Dies begründet sich mit der völlig unterschiedlichen Architektur der Plattformen.
Während in deinem PC ein Intel-x86-kompatibler Prozessor (ggf. auch x86_64) arbeitet und FreeBASIC auf dem System auch den Code für diese CPU erzeugt, basiert der Raspberry Pi auf der ARM-Architektur. Diese ist nicht intel-kompatibel. Das heißt, du kannst compilierte, ausführbare Dateien nicht zwischen ARM- und Intel-x86-basierten Systemen austauschen.
Du musst von daher auf deinem Raspberry-Pi-System (Raspbian) FreeBASIC installieren bzw. eins der gebastelten Third-Party-Pakete benutzen. Dann kannst du die Quelltexte (!) deines FreeBASIC-Programms auf den Raspberry Pi übertragen und dort für ARM / Raspberry Pi compilieren lassen (über den -gen gcc Modus, soweit ich weiß, d.h. du brauchst auch gcc auf dem RPi). Die Programme, die du auf dem RPi für RPi compilierst, kannst du dann auf andere RPi kopieren, ohne dass dort FreeBASIC installiert sein müsste.
Ganz ähnlich verhält sich das mit Windows- und Linux-Programmen. Du kannst einen identischen BAS-Quelltext zwar unter Windows und Linux mit FreeBASIC compilieren lassen, um jeweils ein ausführbares Programm zu erhalten. Aber du kannst das ausführbare Programm von Linux nicht auf ein Windows-System kopieren und dort ausführen (und umgekehrt).
Es könnte sein, dass es Möglichkeiten zum FB-Cross-Compiling nach ARM gibt, wenn man auf einem normalen PC arbeitet, aber dokumentiert wäre das bisher nicht.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Gothi
Anmeldungsdatum: 04.10.2014 Beiträge: 2
|
Verfasst am: 04.10.2014, 19:11 Titel: |
|
|
Hallo Sebastian,
vielen Dank für die schnelle Antwort.
Das ist mir schon fast peinlich, an die ARM-Architektur vom RaspberryPi hatte ich gar nicht mehr gedacht. Logisch das es nicht funktionieren kann.
Dann werde ich versuchen auf dem PI mein Programm zu kompilieren.
mfg Gothi |
|
Nach oben |
|
|
ThePuppetMaster
Anmeldungsdatum: 18.02.2007 Beiträge: 1837 Wohnort: [JN58JR]
|
|
Nach oben |
|
|
|