Frage

Ich habe angefangen, XCode zu verwenden und es scheint zu funktionieren, na ja, das meiste davon.

Das Ärgerliche ist es kompiliert alle Quelldateien, auch jene, die nicht, jedes Mal ändern.

Ich erhalte die Griffe mit openframeworks und ich Zeit verschwenden die openframeworks Quelle kompilieren Dateien obwohl jedes Mal, wenn sie sich nicht ändern.

Hier sind meine IDE und Maschinendetails:

XCode Version 3.1.2 Komponentenversionen Xcode IDE: 1149,0 Xcode Kern: 1148,0 ToolSupport: 1.102,0

Mac OS X Version 10.5.6

erlebt hat jemand das gleiche Problem? Alle mögliche Abhilfen?

War es hilfreich?

Lösung

Viele (die meisten?) Bauen Systeme verwenden das Datum der letzten Änderung und die Uhrzeit der Dateien, um zu bestimmen, ob eine erneute Kompilierung durchgeführt werden muss. Ich würde zuerst prüfen, ob die Dateidaten wie erwartet verhalten; wenn die Dateien auf einem Netzlaufwerk sind, zum Beispiel, könnte es verschiedene Zeiteinstellungen oder Takt Diskrepanzen, die es erscheinen würden, dass die Dateien in der Zukunft verändert wurden, so dass das Build-System immer kompiliert sie. Was das betrifft, wenn sie auf einem Netzlaufwerk sind, verwendet das Protokoll nicht Änderungsdatum enthalten, und das System einfach defaults es auf „jetzt“, so sieht es immer wie jede Datei nur geändert wurde.

Andere Tipps

Sie speicherten einige Dateien, dann Betriebssystem rückwärts Ihre Systemzeit synchronisiert hat. Diese Dateien werden nun modifiziert werden in Zukunft erkannt. Sie sollten in Ihrem Projekt Hauptordner folgende bash Befehl ausführen:

find . -exec touch {} \;

Meine Erfahrung ist, dass es Sachen neu kompiliert, die sich geändert hat und Sachen, die auf dem Material abhängt, die sich geändert hat. Wenn Sie also eine .h Datei bearbeiten, die in jede andere Datei #import'd wird, dann müssen natürlich alles neu kompiliert werden. Wenn Sie jedoch nur eine .m-Datei bearbeiten, dann sollte nur der .m neu kompiliert werden, zu werden. Ich bin keine Kenntnis von einer Xcode Einstellung, die dieses Verhalten ändern würde.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top