(VC++) Nach neu compilieren Programmabsturz!
-
Hoi!
erstmal ne kurze vorgeschichte:
meine festplatte war kaputt, ich konnte aber noch alle wichtigen daten auf meine 2, platte retten. jetzt ist eine neue drin und soweit auch alles wieder "ge-backuped".wenn ich nun mein prog starte und laufen lasse "F5" geht alles einwandfrei. sobald ich aber im code was veränder, sei es auch nur der wert einer zuweisung, und es dann neu compilieren lasse gibts bei beendigung ne exception und ich kanns nur noch beenden indem ich VC++ kille
...ach ja beim ersten aufruf des "funktionierenden" workspaces kommt ne nachricht "not all of the windows could be opened" oder so..tja ist sehr ärgerlich! weiss einer worans liegen kann?
mfg striptease
-
Hast du mal ein Rebuild-All versucht?
-
hi danke für deine antwort!
hmm habs gerade mal gemacht.
erstmal ausgeführt vor dem rebuild all--->funzt
dann rebuild all gamacht (0 errors 0 warnings) -->geht nicht!also ich kapier irgendwie nicht was da los ist! zumal das prog fast fertig ist!!!!
mfg striptease
-
Kann es sein, dass du diesmal im Release kompiliert hast und einige Fehler erst jetzt zu Tage treten?
-
ahh..
habe nun bei "Build"->"configurations" das Win32 DEBUG rausgenommen und nur och release drin gelassen und siehe da plötzlich hattte ich ein paar unresolved externals ! werde mich nun mal dran machen diese zu beheben! vielen dank für die hilfe! aber nur mal ganz doof gefragt (bitte nich hauen!) was ist denn da der eigentliche unterschied? zwischen debug build und release build?mfg striptease!
-
Hi
Eine Debug Version gibt man eigentlich nicht weitet. Wie der Name schon sagt ist diese Version im Grunde nur zum Debuggen da. Wenn du trotzdem die Debug Version auf einem PC ohne Visual C++ laufen lassen willst, brauchst du ein paar DLLs. Damit man das Problem nicht hat, compiliert man das Programm als Release. Das ist denn wie der Name sagt eine Veröffentlichung deines Programmes. Diese Version kannst du denn ohne Dlls(gemeint sind MFC DLLs die bei VC++ installiert werden) weitergeben.
MFG Desert Storm
-
@DesertStorm:
Ob man die MFC Dll braucht oder nicht hat mit Debug/Release herzlich wenig zu tun.@striptease_ger :
Bevor du weiter an deinem Code rumfummelst solltest du erstmal den kompletten Inhalt von den Debug/Release Ordnern löschen und dann alles neu erstellen.
Sollte das auch nicht fruchten soll es wohl helfen ein neues Projekt anzulegen und die alten Dateien da wieder rüber zu kopieren.
Von diesem merkwürdigen Verhalten hab ich schon öfter gehört,hab ich aber selber noch nie gehabt.MfG Spacelord
-
hi! ja danke für eure antworten!
@spacelord das mit dem rüberkopieren hab ich auch gemacht..leider ohne erfolgdie externals sind nun alle in reih und glied und eine exception is auch behoben..na ja zumindest habe ich eine release exe die einwandfrei funzt..aber sonst auch nix
n aja danke jedenfalls nochmal. ach ja was mr aufgefallen ist: die relewase version ist viel kleiner..erfreulich!
mfg striptease
-
oh gott bist du schlecht!
-
Desert Storm schrieb:
Hi
Eine Debug Version gibt man eigentlich nicht weitet. Wie der Name schon sagt istEine Debug-Version kann schon etwas mehr als nur andere DLL verwenden.
Das naheliegendste: Debuggen.
Weiters werden Variabelen initialisiert.
Der Speicher wird überwacht.
Spezielle MAcros sind definiert (ASSERT,TRACE, ....)
Und vieles mehr.
-
oh gott bist du schlecht!
der olympische gedanke zählt
mfg