Komisches Verhalten in einer .cmd Datei
-
@echo off echo Regenerating Gettext and wrs File wxrc.exe -g -o NightShadeResources_gettext.cpp NightShadeResources.xrc wxrc.exe -o NightShadeResources.xrs NightShadeResources.xrc move /Y NightShadeResources.xrs ..\bin\wxrc\NightShadeResources.xrs
Output:
13:59:56: Error: File 'D:\Source\NightLight2D\NightShade\NightShadeResources.xrs' couldn't be removed (error 2: the system cannot find the file specified.)Das komische: Es funktioniert :D.
Wenn ich als Beispiel die Batch so aufrufe:generate.cmd > wtf.txt
Dann steht der Fehler in der wtf.txt nicht drin.
Weiss jemand woran das mit der obigen Fehlermeldung liegen könnte?
Im prinzip isses ja egal, weil es funzt, aber nachdem ich das etliche male ankucken muss pro Programmier-Session will ich jetzt schon wissen woher das kommt :p.
-
> leitet unter Windows vermutlich wie unter Bash auch nur stdout um, nicht stderr. Deswegen steht der Fehler nicht in der Datei.
-
Christoph schrieb:
> leitet unter Windows vermutlich wie unter Bash auch nur stdout um, nicht stderr. Deswegen steht der Fehler nicht in der Datei.
Okay, die letzte Frage war verwirrend, ich würde auch gerne den Fehler beheben.
Weiss jemand woher DER kommt?
-
Scorcher24 schrieb:
ich würde auch gerne den Fehler beheben.
Weiss jemand woher DER kommt?Der Fehler kommt daher, dass die angegebene Datei zum Zeitpunkt der Fehlermeldung nicht existiert, aber erwartet wird.
Interessant wäre zu wissen: Von welchem Programm kommt die Fehlermeldung? Warum ist die Datei nicht vorhanden, wenn dieses Programm ausgeführt wird?
-
Die Datei wird von wxrc.exe erstellt bzw aus NightShade.xrc generiert, welche wiederrum vom wxFormBuilder erstellt wurde.
Das ist eine xml Datei die quasi die Definition fürs Interface enthält und diese mit zip packt und eventuelle Icons mit reinpackt. Ausserdem wird eine .cpp Datei für gettext generiert, die nur die nötigen Strings enthält, da gettext kein xml parst.
Und diese wird dann aus dem Build-Verzeichnis in das Verzeichnis geschoben aus dem es von der Anwendung geladen wird. Das ganze ist Teil des Buildprozesses.
Da es fehlschlägt kann ichs nicht in Visual C++ in den PostBuild hauen.Und wie ich bereits schrieb: Die Datei ist vorhanden und wird auch verschoben.
Ein "pause" zwischen den einzelnen Befehlen hilft auch nichts.Die Meldung sollte von wxrc kommen, denn der Fehler kommt nach dem letzten wxrc Kommando. Okay, zu der Zeit ist die .xrs Datei nicht vorhanden, aber die soll er ja auch nicht entfernen sondern generieren :D.
Hmm, vielleicht doch was fürs wxWidgets Forum.edit:
Habs nun doch gelöst:@echo off echo Regenerating gettext and xrs wxrc.exe /g /o NightShadeResources_gettext.cpp NightShadeResources.xrc wxrc.exe /o ./NightShadeResources.xrs ./NightShadeResources.xrc move /Y ./NightShadeResources.xrs ..\bin\wxrc\NightShadeResources.xrs
Kopf -> Tisch
Funktioniert, aber gibt ne Fehlermeldung. Wo is der wxWidgets Tracker...
Nuja :D.edit 2: Zu früh gefreut. 1x hats ohne Fehlermeldung funktioniert, nun kommt die Meldung wieder. Ka...