Forum: Compiler & IDEs Atmel Studio 7: Makefile Fehlermeldung nervt


von Jokel (Gast)


Lesenswert?

Bei der Ausgabe der Liste - im Falle eines Fehlers - nach dem 
Kompilieren des Quelltextes (xxx.c) gibt das Studio (Version 7.0.1188, 
Windows 8.1) diese Meldung zuerst aus:

[pre]
Error    recipe for target 'xxx.o' failed
[pre]


Wie kann man die Ausgabe dieser Meldung unterdrücken?

von asdf (Gast)


Lesenswert?

Jokel schrieb:
> Wie kann man die Ausgabe dieser Meldung unterdrücken?

Ich weiß nicht, wo der Fehler herkommt. Aber generell ist es eine ganz 
schlechte Idee, eine Fehlermeldung zu unterdrücken, statt die Ursache 
dieser Meldung zu beseitigen...

von Jokel (Gast)


Lesenswert?

Könnte ein Fehler/Problem im Makefile sein. Es sieht so aus, dass 
Make/Makefile die xxx.o erwartet, obwohl die Kompilierung des 
Quelltextes auf Grund eines Fehler (z. B. Semikolon) fehlschlägt und 
eine xxx.o erst gar nicht erzeugt wird.

Andere haben dieses Problem ihn auch. Z. B. hier:

Beitrag "Compiler Error | Atmel Studio 7 | was ist denn da los? kein PORT-PIN0 (PB0) mehr möglich"

von Rolf M. (rmagnus)


Lesenswert?

Jokel schrieb:
> Könnte ein Fehler/Problem im Makefile sein.

Eher im eigentlichen Quelltext des Programms.

> Es sieht so aus, dass Make/Makefile die xxx.o erwartet, obwohl die
> Kompilierung des Quelltextes auf Grund eines Fehler (z. B. Semikolon)
> fehlschlägt und eine xxx.o erst gar nicht erzeugt wird.

Ja. Das ist ein ganz normaler Folgefehler in make. Durch einen Fehler im 
Code bricht der Compiler ab und erzeugt kein Object-File. In Folge 
dessen kann make dann nicht weiter machen, weil dieses File fehlt und 
bricht daher ebenfalls - mit obiger Meldung - ab.
Interessant wäre natürlich jetzt die eigentliche Fehlermeldung des 
Compilers.

von Jokel (Gast)


Lesenswert?

Rolf M. schrieb:
> Jokel schrieb:
>> Könnte ein Fehler/Problem im Makefile sein.
>
> Eher im eigentlichen Quelltext des Programms.

Warum liest du meine Beiträge nicht sorgfältig durch?

>> Es sieht so aus, dass Make/Makefile die xxx.o erwartet, obwohl die
>> Kompilierung des Quelltextes auf Grund eines Fehler (z. B. Semikolon)
>> fehlschlägt und eine xxx.o erst gar nicht erzeugt wird.
>
> Ja. Das ist ein ganz normaler Folgefehler in make.

Warum liest du meine Beiträge nicht sorgfältig durch?

Das ist natürlich rhetorisch gemeint - bloß nicht antworten.

von asdf (Gast)


Lesenswert?

Jokel schrieb:
> Rolf M. schrieb:
>> Jokel schrieb:
>>> Könnte ein Fehler/Problem im Makefile sein.
>>
>> Eher im eigentlichen Quelltext des Programms.
>
> Warum liest du meine Beiträge nicht sorgfältig durch?
>
>>> Es sieht so aus, dass Make/Makefile die xxx.o erwartet, obwohl die
>>> Kompilierung des Quelltextes auf Grund eines Fehler (z. B. Semikolon)
>>> fehlschlägt und eine xxx.o erst gar nicht erzeugt wird.
>>
>> Ja. Das ist ein ganz normaler Folgefehler in make.
>
> Warum liest du meine Beiträge nicht sorgfältig durch?
>
> Das ist natürlich rhetorisch gemeint - bloß nicht antworten.

Ich tippe ebenfalls auf deinen Quelltext. Da wird ein Fehler sein, 
deswegen wird das Compilieren abgebrochen und das *.o nicht erstellt. 
Das fehlt dann natürlich für die Ausführung des makefiles.
Das makefile wird übrigens im Studio erst erstellt. Das ist kein 
existierendes makefile, deshalb kann da auch kein Fehler sein...

von Rolf M. (rmagnus)


Lesenswert?

Jokel schrieb:
>>> Es sieht so aus, dass Make/Makefile die xxx.o erwartet, obwohl die
>>> Kompilierung des Quelltextes auf Grund eines Fehler (z. B. Semikolon)
>>> fehlschlägt und eine xxx.o erst gar nicht erzeugt wird.
>>
>> Ja. Das ist ein ganz normaler Folgefehler in make.
>
> Warum liest du meine Beiträge nicht sorgfältig durch?

Das habe ich - jetzt nochmal - getan. Was du mir damit sagen willst, ist 
unklar. Lass mich nochmal zusammenfassen:

Dir ist anscheinend klar, dass dein Programm einen Fehler hat und sich 
nicht übersetzen lässt, und du willst nun wissen, wie du dafür sorgst, 
dass make dir das nicht mitteilt? Irgendwie ergibt das keinen Sinn, aber 
da du offenbar eh keine Hilfe willst und lieber Leute, die versuchen, 
dir zu helfen, vor den Kopf stößt, viel Spaß noch bei der Suche nach 
einer Lösung für dieses obskure "Problem".

von Bernd K. (prof7bit)


Lesenswert?

Jokel schrieb:
> Könnte ein Fehler/Problem im Makefile sein. Es sieht so aus, dass
> Make/Makefile die xxx.o erwartet

Nein. Der Fehler besagt daß das Target xxx.o genau jetzt an der Reihe 
war gebaut zu werden (üblicherweise durch Compilieren von xxx.c), dieser 
Vorgang aber leider fehlgeschlagen ist, mithin also das besagte Target 
(nämlich xxx.o zu bauen) gescheitert ist.

Die genauere Ursache für das Scheitern dieses einen Kompilier-Targets 
wird ebenfalls mitgeteilt denn in der Konsole des Atmelstudios werden 
auch die Compilerfehler im orginalen Wortlaut ausgegeben (und auch zum 
Anklicken daß man direkt an die besagte Stelle im Code springen kann) 
und ich traue mich sogar was zu wetten daß es sogar in der xxx.c Datei 
selbst nicht zu übersehende rote Markierungen am Rand anbringt an der 
Stelle an der der Compiler beim letzten Durchgang ausgestiegen ist.

Du musst also einfach den entsprechenden Fehler in xxx.c beseitigen und 
dann wird das ohne Fehler durchlaufen.

Wenn es mehrere Fehler sind dann arbeite sie von oben nach unten ab, so 
lange bis es wieder kompiliert. So einfach ist das, oder so schwer. Und 
so sieht nun mal das Leben eines C-Programmierers aus: Dinge von Anfang 
bis Ende abarbeiten (und manchmal auch zwischendurch nachdenken), 
solange bis es zur Zufriedenheit funktioniert, Du hast dieses Leben 
selbst gewählt, was hast Du erwartet?

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.