MFC DLL und TortoiseSVN keywords
-
Hallo zusammen.
Ich nutze Tortoise zur Versionsverwaltung. Hier hat man die Möglichkeit über die svn:keywords Versionsinformationen beim einchecken in Platzhalter zu kopieren.
Ein Platzhalter sieht zum Beispiel so im Code aus:
"$Revision:: 0 $:"Dieser Platzhalter bleibt beim kompilieren so in der DLL erhalten. Und kann dann beim einchecken durch die Revisionsnummer ersetzt werden.
Wenn ich dieser Plathalter aber nicht im Code sondern in der .rc Datei meines MFC Projekts verwende wird er nachher in der DLL so dargestellt:
" $ R e v i s i o n : : 0 $ :"
Sprich mit einem Leerzeichen zwischen jedem Zeichen. Tortoise findet dann somit diesen Platzhalter nicht. Und in den Versionsinformationen der DLL wird dann nicht die Revisionsnummer angezeigt. Mein eigentliches Ziel.
Kann mir da jemand helfen.
-
Nein! Das ist kein Leerzeichen.
Texte in der EXE aus den RC Dateien werden zu Unicode. Das sind 0 Zeichen dazwischen.
Bau Die eine User Ressource und füge diesen Text als Textdatei ein.
-
Hallo Martin. Vielen Dank für deine Antwort.
Bau Die eine User Ressource und füge diesen Text als Textdatei ein.
Hört sich gut an :-). Bin momentan noch am rausfinden was ich dazu machen muss. Vieleicht noch einen kleinen Tipp der mir hinsichtlich diesem Thema das Leben erleichtert.
-
Such z.B. nach RCDATA.
-
Ok. Das hat mich schon mal ein Stück weitergebracht.
Jetzt habe ich also eine benuzerdefinierte Resource RCDATA. Mit dem Platzhalter in der zugehörigen Textdatei.
Wie greife ich nun aber auf die Resource zu. Also aus dem Code raus hab eich Beispiele gefunden. Aber wie mache ich das aus der VS_VERSION_INFO raus?
-
Sorry dass ich mich nochmals melde. Aber versuche vergeblich die angelegte Ressource in meinen Versionsinformationen zu nutzen. Kann mir nochmals jemand helfen.
-
Oha. In den Versions-Infos kannst Du die nicht benutzen. Die Version-Infos sind immer Unicode...
Ich dachte Dir ginge es nur um die Versionnummer als Text an sich...Ich mache das setzen der Versionsinfos immer zur Compile-Zeit. Nicht im Binary.
Die Binaries kommen bei mir auch nicht in den Source-Control
-
Ok. Schade.
Bei uns kommen die Binarys immer in die Source-Control. Beim einchecken bekommt das Binary die Version der Revision.
Legst du für die Binarys ein eigenes Repository an?
Oder muss man immer zuerst zur gewünschten binary den Sourcecode auschecken und kompilieren?
-
Binaries kommen bei uns nicht in das Source-Control System
Es gibt mehrere Wege.
1. Wir haen ein Build-Drop Verzeichnis in dem alle kompilierten Debug und Release Versionen vom Build-Server einlaufen.
Wenn man nicht alles will braucht, kann man sich die aktuellen Version von dort holen.
2. Man kann sich seinen eigenen Build bauen. Der kann ja auch auf einer älteren Version basieren für einen Hotfix.
3. Für Release Versionen werden die fertigen Setups inkl. der Binaries und PDB "archiviert". Die PDB kommen in einen Symbolserver.Die Version wird beim "Release-Build" for dem Build in den RC/RC2 Dateien gesetzt.