Sie sind nicht angemeldet.

1

31.05.2017, 12:13

GCC produziert "Fehler im Format der Programmdatei"

Mahlzeit!

Ich habe ein echt seltsames Problem. Im Moment arbeite ich mich gerade in C++ und wxWidgets ein. Dazu nutze ich Geany als IDE. Vor ein paar Wochen, wo ich mein Projekt das letzte Mal bearbeitet habe, konnte ich das Programm compilieren, linken und im Anschluss auch ausführen.

Compilieren und Linken funktioniert zwar immer noch, aber wenn ich es mit Geany dann ausführen will heisst es nur

Quellcode

1
/tmp/geany_run_script_0F8N0Y.sh: Zeile 7: ./app: Keine Berechtigung


Also habe ich es mal vom Terminal aus versucht

Quellcode

1
g++ -Wall -std=c++11  -c `wx-config --cppflags` `wx-config --libs` kipperei.cpp


Läuft ohne Probleme durch, doch habe ich am Ende eine nicht ausführbare Datei. Okay, die kann man ja ausführbar machen. Doch wenn ich das gemacht habe und es dann versuche zu starten kommt folgendes

Quellcode

1
bash: ./kipperei: Kann die Binärdatei nicht ausführen: Fehler im Format der Programmdatei


Das kann ich nicht ganz nachvollziehen! Bislang funktionierte es doch einwandfrei! Habe nun auch schon ein paar GCC ausprobiert.

Quellcode

1
x86_64-pc-linux-gnu-6.3.0


sowie

Quellcode

1
x86_64-pc-linux-gnu-5.4.0


In beiden Fällen der gleiche Effekt.

Bei wxWidgets verwende ich

Quellcode

1
gtk3-unicode-3.0-gtk3


Es ist mir ein absolutes Rätsel! Hat jemand einen Rat?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Diabolus« (01.06.2017, 15:11)


2

01.06.2017, 08:52

Hast du ein Update eingespielt von den genutzten Programme?!

(Keine Berechtigung)
Was steht in dem Script in Zeile 7 die er bemängelt ? Eventuell greifst du auf eine Datei zu wo du nicht darfst !?

(Fehler im Format der Programmdatei)
Hmm für die richtige Plattform compiliert ?
''''''''''''''''''''''''''''''''''''''''''''''''
Gentoo-Linux
der G-Punkt eines Pc´s

''''''''''''''''''''''''''''''''''''''''''''''''

3

01.06.2017, 11:02

Geany habe hatte ein Update. Aber um das ausschliessen zu können habe ich ja extra das Spielchen im Terminal, also ohne Geany compiliert, mit gleichem Effekt.

Das Skript kann ich leider nicht einsehen. Das wird von Geany anscheinen temporär erstellt und anschliessend wieder gelöscht. Das mit der Berechtigung ist aber auch richt! kipperei, also das kompilierte Programm ist im Anschluss nicht ausführbar, egal ob ich es mit Geany, oder im Terminal compiliere.

Was die falsche Plattform anbelangt, da wüsste ich gar nicht, wie ich etwas für eine andere Plattform compiliere! Das wollte ich mir bei Gelegenheit noch anschauen, da ich ein anderes Projekt auch für Windows und Mac übersetzen will, daher ja wxWidgets.

Quellcode

1
g++ -Wall -std=c++11  -c `wx-config --cppflags` `wx-config --libs` kipperei.cpp



Damit compiliere ich es im Terminal. Da dürfte doch nichts für eine andere Plattform dabei sein, oder wo stellt man das um?

4

01.06.2017, 15:11

Okay, habe den Fehler gefunden! Die »-c« Option war falsch! Ich habe keinen Plan, wie die bei Geany da rein geraten ist, da es die ganze Zeit ja problemlos funktioniert hat. Jetzt geht alles!

5

02.06.2017, 15:19

Hauptsache der Fehler wurde gefunden und beseitigt :)

Na dann weiterhin viel spaß beim proggen ^^
''''''''''''''''''''''''''''''''''''''''''''''''
Gentoo-Linux
der G-Punkt eines Pc´s

''''''''''''''''''''''''''''''''''''''''''''''''