Diese Mal was arbeitstechnisches.
Das waren eben fast die längsten zwei Stunden meines Lebens!!!!
Ich wollte eine neues Release erstellen und es ging plötzlich gar nichts mehr! ARRRGG!!!
Beim Kompilieren der Release-Version (nur beim Release) kachelte der Linker immer wieder
ab, noch dazu mit einer völlig nichtssagenden Meldung.
Von wegen Fehler in (Dateipfad, den es nicht bei mir gibt)\main.c blabal Zeile 182.
Dolle Wurst!
Ohne genauen Hinweis sitzt man gewaltig auf dem Trockenen, vor allem bei der Größe des Projekts. Such mal einen Fehler in mehreren Hunderttausend Zeilen Code, der dem zwar Compiler gefällt aber dem Linker sauer aufstößt.
Den ersten Anflug von Panik (fast) komplett ignoriert, hab ich mich auf die Suche gemacht. Ich dachte erst, es wäre ein Ressourcen-Problem mit einer der DLLs. Aber der Fehler schien im Hauptprogramm zu liegen.
Komischerweise lief ein Build heute morgen ohne Fehler durch. 🙁
Also legte ich ein Kopie von Projekt an und hab das Backup von gestern zurück gespielt. Anschließend habe ich nach und nach die neuen Dateien zurück kopiert, bis ich die besagte Quell-Datei hatte, die den Linker kickte. Natürlich nicht die Bohne was von main.c!
Nun hab ich die alte Datei Stück für Stück durch den neuen Code aktualisiert.
Um es kurz zu machen, ich habe ein Routine vorzeitig mir return verlassen und davor einfach eine MessageBox ausgegeben (weil die noch nicht richtig fertig ist ). Sollte eigentlich überhaupt!!! kein Problem sein! – Eigentlich.
Doch eine der auf das return; folgenden Klassendefinierten brachte den Linker wohl komplett aus dem Tritt.
Hab ich statt
return;
…code…
dies:
if(1==1)
return;
…code…
eingefügt ging es. Das versteh wer will! Ich nicht?!?!?!
Jetzt hab ich den Code in #ifdef _DEBUG gesetzt und damit lüppt es wieder.
Puh!!!Was für ein Schreck zum Feierabend!