C++ Programm auf anderen Rechner funktioniert nicht
lima-city → Forum → Programmiersprachen → C/C++ und D
architektur
arm architektur
auftauchen
basierten rechner
befehl
bit
code
compiler
derivat
falsch mache
fehler
feststelle
file
jemand
normalen rechner
programm
quellcode
testen
verzweifeln
wahrscheinlichkeit
-
Guten Abend liebe Community,
Ich habe mich am Wochenende mal hingesetzt und ein C++ Programm auf die Beine gestellt.
Nun habe ich das Programm kompiliert und auf dem Entwicklungsrechner laufen gelassen, funktioniert wunderbar.
Dann habe ich heute die Binary auf das Produktivsystem kopiert, und wollte es ausführen. Ich musste feststellen das dass Programm einfach nicht läuft. Ich erhalte die Fehlermeldung Cannot execute Binary File.
Dazu noch folgende Infos:
Entwicklungssystem:
Ubuntu 14.10
Code::Blocks
g++ 4.8
Produktivsystem:
Cubieboard A10 mit Cubian (Debian Derivat)
Ich bin bereits am verzweifeln ... vielleicht weiß jemand was ich falsch mache.
Ich bin mir 100%-ig sicher, dass es nicht am Quellcode liegen kann. Das Programm läuft ja "eigentlich".
Gruß
Marina -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Könnte es sein, dass du das Binary auf einem x86-basierten Rechner nicht mit einem Cross-Compiler erstellt hast? Ein Cubie-Board nutzt die ARM-Architektur, wenn du hingegen auf einem »normalen« Rechner entwickelst hast du mit großer Wahrscheinlichkeit einen x86-Prozessor. Du musst also entweder einen Cross-Compiler nutzen oder am Cubie-Board übersetzen.
Ob das der Fehler ist kannst du übrigens mit dem »
«-Befehl herausfindenfile
-
Oh, stimmt
Der Entwicklungsrechner läuft mit einer 64 Bit Architektur.
Kann ich denn das Programm auf dem Entwicklungsrechner testen und dann den Compiler einfach wechseln um es für das Cubieboard zu kompilieren, oder wäre es wesentlich einfacher das Prgramm auf dem Cubieboard zu kompilieren und nicht schon auf dem PC?
Und können Fehler im Quellcode auftauchen wenn ich jetzt einen anderen Compiler verwende, oder ist das unwahrscheinlich?
liebe Grüße
Marina -
Wenn du das erst am Board übersetzen willst benötigst du dort natürlich auch den Compiler, das würde bei einem Cross-Compiler am PC wegfallen.
Einfacher, wenn du das direkt am Board übersetzt? Vermutlich. Bei großen Projekten (z.B. der Kernel) könnte es aber durchaus vorkommen, dass das deutlich mehr Zeit zum Übersetzen braucht als mit Cross-Compiler am PC.
Anderer Compiler? Am Cubie-Board wirst du vermutlich ein Linux mit genau dem gleichen GCC, nur eben für die ARM-Architektur haben. Dass sich der irgendwie deutlich anders verhält als der GCC am PC ist somit sehr unwahrscheinlich. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage