Guten Tag miteinander, meine Frage klingt wie ein Scherz. Ist es aber nicht. Ich nutze EmBitz 1.11 mit einem eingebauten ARM-GCC. Ich habe eine Datei (siehe Anhang), bei der der Build eines für mich großen Projekts fehlschlägt, wenn der Compiler dort auch nur eine einzige Warnung erzeugt. (In diesem Fall die Warnung "unused parameter". In allen anderen Dateien, von denen es sehr viele gibt, funktioniert Quelltext, der von dieser Datei gecopy-pasted wurde. Bei einem Compiler für Windows (Mingw 5.1.0) schlägt der Build in der gleichen Umgebung (erwartungsgemäß) nicht fehl. Clean Builds wurden natürlich versucht. Das Problem wandert mit unterschiedlichen PCs. Durch das Versionsverwaltungssystem (SVN). Den Dateinamen gibt es nur einmal im Projekt. Ich erkenne keine ungewöhnlichen nicht-druckbaren Zeichen. Wenn ich sie aus dem Projekt entferne, baue und wieder hinzufuege, hat sie die gleichen Eigenschaften. Wenn ich eine Datei, die sich vorher baue, in den Namen dieser Datei umbenenne, schlägt der Build wieder fehl, sobald eine einzige Warnung entsteht. Hat diese Datei etwas magisches an sich? Nachtrag: Wenn ich die Datei lösche, aus EMBitz entferne, in Windows eine leere Textdatei mit diesem Namen erzeuge, wieder EmBitz hinzufüge, von Hand den neuen Quelltext eintippe, ist die Magie verschwunden. Und das schlimme daran: Ich wundere mich darüber. Nachtrag 2: Man kann sie allerdings mit einem Copy-Paste aus einer Datei, die ein Copy-Paste der alten Version des Inhalts enthielt, wieder infizieren. Wenn man die Änderung mit Strg-Z anschließend rückgängig macht und wieder speichert, ist sie wieder in Ordnung. Wenn man nur mit Strg-A alles löscht, ist sie nicht desinfiziert. Nachtrag 3: Hm. Jetzt ist die Zombie-Reinfektionsmöglichkeit verschwunden, und sie kommt auch nicht mehr zurück. Wahrscheinlich hat irgendwer in der Nähe ein Jungfrau geopfert. Nachtrag 4: Die Zombie-Eigenschaft ist nach einem Neustart vom EmBitz wieder da. Hat die "Jungfrau" wohl geschwindelt. Nachtrag 5: Das übersteigt mein naturwissenschaftliches Denken. Ich gebe auf und gehe Essen. Dieser Dateiname wird dauerhaft nicht mehr benutzt.
Es gibt eine Compileroption : behandle Warnungen wie Fehler (treat warnings as errors). Kann man diese Option in Deiner IDE vielleicht dateiweise setzen ?
Ja, auf irgendeine geheimnisvolle Weise wird diese Datei anders behandelt. In der Projekt-Konfigurationsdatei (halbwegs menschenlesbare XML-Datei) hat sie allerdings bei den Compiler-Optionen keinerlei Sonderstatus.
Du kannst ja mal mit -v compilieren und prüfen, ob due Datei mit anderen Optionen übersetzt wird. Ergibt allerdings viel zu lesen... Sonderzeichen enthält die Datei jedenfalls nicht. Was auffällt ist der C++ Kommentar (bzw. C99+) in einer C-Quelle.
Teo D. schrieb: > Wirklich nich? Ich sehe da auch keine ungewöhnlichen Zeichen. Die Zeilenumbrüche entsprechend der unter DOW/Windows üblichen Konvention mit CR+LF.
Walter T. schrieb: > Hat diese Datei etwas magisches an sich? Nö. Übersetze sie doch mal direkt von Hand - d.h. rufe deinen Compiler direkt von der Kommandozeile auf. Kommt dann die Meldung "unused..." als Warnung oder als Fehler? Wenn sie nur als Warnung kommt, dann hast du ein Problem mit deiner IDE, wenn nicht, dann mit deiner Compilerversion oder mit irgendwelchen Umgebungsvariablen, wo etwas drinsteht, was du garnicht haben willst. W.S.
Die Warnung hat doch bestimmt eine Zeilennummer und genug Angaben um den fraglichen unbenutzten Parameter zu finden, da muss man doch nicht so einen Zirkus veranstalten.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
