Ich habe ein paar Dinge, die ich nicht eine gute Art und Weise durchzuführen, in Visual Studio finden:Complex wird in Visual Studio
Pre-Build-Schritt ruft einen Code-Generator, der einige Quelldateien erzeugt, die später erstellt werden . Dies kann in begrenztem Maße gelöst werden, indem dem Projekt leere Dateien hinzugefügt werden (die später durch real erzeugte Dateien ersetzt werden), aber es funktioniert nicht, wenn ich die Namen und/oder die Anzahl der automatisch generierten Quelldateien nicht kenne. Ich kann es in
GNU make
unter Verwendung$(wildcard generated/*.c)
lösen. Wie kann ich etwas Ähnliches mit Visual Studio machen?Kann ich verhindern, dass das Pre-Build-/Post-Build-Ereignis ausgeführt wird, wenn die Dateien nicht geändert werden müssen (Verhalten)? Die aktuelle Problemumgehung besteht darin, ein Wrapper-Skript zu schreiben, das die Zeitstempel für mich überprüft, was zwar funktioniert, aber etwas unhandlich ist.
Wie kann man externe Bibliotheken und Header, die außerhalb von VS installiert sind, auffinden? Im Fall * nix würden sie normalerweise in den Systempfaden installiert sein oder sich unter
autoconf
befinden. Ich nehme an, dass ich in den Projekteinstellungen Pfade mit benutzerdefinierten Makros angeben kann, aber wo kann man diese Makros platzieren, damit sie leicht gefunden und angepasst werden können?
Nur klar zu sein, ich bin mir dessen bewusst, dass eine bessere Windows-Build-Systeme existieren (CMake
, SCons
), aber sie erzeugen in der Regel VS Projektdateien selbst, und ich brauche dieses Projekt in integrieren VS Build-System vorhanden, so Es ist wünschenswert, dass ich einfach nur VS-Projektdateien habe, keine generierten.
Wie für Punkt 3. die '.VSprops' Dateien beginnend mit VS2005 sind die bessere Option. – 0xC0000022L