es wird mal wieder Zeit für eine Verbesserung: Mir war es zu lästig, ständig Dateien vom Build auszuschliessen, um nicht zuviel zu linken. Ich will mir darüber keine Gedanken mehr machen, wer wen inkludiert. Das LinkThemAll hat ein bisschen mehr Intelligenz bekommen: Es bekommt über das Studio den Pfad auf die .c - Datei, die die Main-Funktion beinhaltet. Mit ihrer Hilfe scannt sie alle Header in ihrer Inklude-Reihenfolge durch und erkennt rekursiv alle inkludierungen. In dieser ersten Version werden keine *.c Dateien gescannt. Alle Inkludierungen in *.c Dateien werden nicht erkannt und dann auch nicht gelinkt. Also folgende Regel (Beispiel)
In main.c wird nur main.h inkludiert
in main.h kann dann GlobalConstants.h, Memory.h usw inkludiert werden; diese werden weiter gescannt
Im Anhang findet sich ein Beispiel für ein Log (kann man sich mal ansehen, bevor man sich das Update zieht) und ein Zipfile.
Im Zipfile wiederum ist ein Screenshot der neuen Kommandozeile für den Linker und Link.bat und LinkThemAll.exe. Die letzten beiden werden einfach überschrieben.
Wenn man das Projekt dann baut, bekommt man im Outputfolder eine LinkThemAll.log generiert, die anzeigt, welche header von wem inkludiert werden, welche Objectfiles zu den gescannten Headern gefunden wurden (daran kann man erkennen, ob vlt etwas nicht compiliert wurde) und es wird noch angezeigt, welche objectfiles an die Linkercommandline übergeben werden.
Ich denke, das ist eine ganz hübsche Arbeitserleichterung.
Probierts aus und schickt mir Verbesserungsvorschläge!!
Mfg, Martin
PS: Den Code zum Linktool gibts auf Anfrage per Mail (er ist noch ziemlich dirty, wird grad noch verbessert )
Lesezeichen