Problem mit VS2005
-
Alles klar.
Danke Euch beiden.Hat jemand jetzt noch eine Idee fuer die 2te Frage?
-
Ist es moeglich (wenn ja, wie?), dass man es irgendwie und irgedwo in VS2005
angeben kann, diese Datei nach dem Compilen automatisch auszufuehren?Ja, das geht, das nennt sich Post-Build-Step, und das kannst du in den Projekt-Einstellungen einstellen.
-
Verwende doch einfach Strg+F5, dann wird erst compiliert, wenn notwendig und dann startet Dein Programm.
-
Danke hustbaer. Das Post-Build is nur ein bisschen schwer zu verstehen.
Hab schon in den MSDN gelesen, aber schlauwerden tu ich trotzdem nicht draus.Ich glaub du hast die Frage falsch verstanden, Martin Richter

-
Am Besten kopierst du zuerst deine Batch-Datei in das Projekt-Verzeichnis, danach schreibst du folgendes in das Feld für die Post-Build-Events:
start upack.bat
Dadurch startet sich die Batch-Datei nach jedem Build.
-
Das funktioniert schonmal sehr gut, MP, danke.
Das Problem ist jetzt nur, dass die .exe nicht schnell genug
compiled wird.
Waehrend VS2005 compiled fuehrt es (wie beabsichtigt) die upack.bat aus.Aber dann steht da: Can't open file
Das System kann die angegebene Datei nicht finden.Ergo compiled VS2005 zu langsam, um es so auszudruecken.
Gibt es eine Moeglichkeit, den start der .bat etwas zu verzoegern, oder so?
-
Wenn du es im Richtigen Event machst PostBuild dann ist die EXE auch da.
Du kannst sicher in einem Batch verzögern aber du weiß ja nie wielange dein Projekt braucht um erstellt zu werden.
-
Der Post-Build-Step läuft definitiv erst wenn die Datei "fertig" und bereits wieder "schreibbar" ist, also kein Problem.
Ich würde aber sowieso vorschlagen das .exe File nicht "in place" zu komprimieren sondern den Linker "MyProjectUnpacked.exe" ausspucken lassen und das dann nach "MyProject.exe" zu komprimieren.
-
Der Post-Build-Step läuft definitiv erst wenn die Datei "fertig" und bereits wieder "schreibbar" ist, also kein Problem.
Da muss ich leider widersprechen.
Also, so sieht das jetzt aus:
http://img91.imageshack.us/img91/1649/pbetc3.jpg
Dann, beim compilen:
------ Rebuild All started: Project: trainer, Configuration: Release Win32 ------
Deleting intermediate and output files for project 'trainer', configuration 'Release|Win32'
Compiling...
trainer.cpp
StdAfx.cpp
Generating Code...
Compiling resources...
Linking...
Embedding manifest...
upackDa fuehrt er dann also UPACK aus, aber die .exe ist NOCH nicht da:
http://img468.imageshack.us/img468/2112/upackwo2.jpg
Die .exe ist erst ca. eine halbe Sekunde spaeter da.
Ergo ist die .exe NICHT, wie du sagtest, "fertig", "schreibbar".
-
So, hab mich mal eben registriert.
Ich habe meine .bat jetzt so geschrieben, dass sie erst auf einen Input
wartet, nachdem sie ausgefuehrt wird.Es funktioniert allerdings immernoch nicht.
Obwohl die .exe da ist, sagt upack, dass es sie nicht finden kann.
Ich denke mal, dass das daher kommt, dass die Datei noch (von VS2005)
verwendet wird.Ist es moeglich die .bat erst "komplett nach" dem compilen auszufuehren?
Im Moment sieht das compilen ja so aus:
[...]
Linking...
Embedding manifest...
upack
Build log was saved at "file://c:\BuildLog.htm"
trainer - 0 error(s), 0 warning(s)
=Rebuild All: 1 succeeded, 0 failed, 0 skipped=Also das VS2005 das dann so macht:
[...]
Linking...
Embedding manifest...
Build log was saved at "file://c:\BuildLog.htm"
trainer - 0 error(s), 0 warning(s)
=Rebuild All: 1 succeeded, 0 failed, 0 skipped=
upackWaere das so irgendwie moeglich?
-
Wie wär's wenn du erstmal ins richtige Verzeichnis wechselst bevor du hier irgendwelchen Blödsinn behauptest.
Oder verwende einfach $(TargetPath).
Und lass das "start" weg, das ist Blödsinn.
-
Wo behaupte ich denn bitte Bloedsinn?
Ich schildere hier lediglich meine Probleme.
Abgesehen davon habe ich in meiner ersten Post bereits gesagt, dass ich neu
bin was cpp/vs2005 angeht.Ist es nicht Sinn und Zweck dieses Forums - in der Hoffnung auf Antworten -
Fragen zu stellen?Zu deinem Vorschlag: Wozu ins richtige Verzeichnis wechseln, wenn ich bereits
drin bin? (Soweit ich das beurteulen kann, bin ich im richtigen)
Koenntest du das bitte etwas genauer erlaeutern? (evtl. mit einem Beispiel Pic)[Edit]
Habs endlich zum laufen gekriegt. Besten Dank an alle die geholfen haben.
[/Edit]