Versionsnummer nach jedem Compile Vorgang erhöhen



  • Wie kann ich realisieren, dass nach jedem Compilevorgang eine Versionsnummer mitgeliefert wird (die ich auch im Code zur Verfügung habe!) und automatisch erhöht wird? Ich nutze GCC...

    Danke schonmal.



  • Hallo

    Ich hab das so relisiert.

    Ich hab mir eine Versions-C-Datei gemacht mit nur zwei globalen Variabeln:

    char cCompileDate[32]=__DATE__;
    char cCompileTime[32]=__TIME__;
    

    Im Makefile hab ich gesagt das diese Datei von allen anderen
    *.c und *.h Datein im Projekt abhängig ist.

    Somit wird die Versions-C-Datei immer neu kompiliert
    wenn eine Datei aus dem Projekt verändert wird, und
    enthällt somit immer das aktuelle Datum.

    Das Erstellen des Make files kann bei grßen Projekten
    estwas aufwäntig sein.



  • Das geht mit einem kleinen Shell-Skript.

    Erstelle eine Datei, die den Inhalte 1 hat.

    $ echo "1" > version.txt
    

    Dan fügst du in dein Makefile bei jedem compilieren folgenden Shell befehl auf

    $ echo $(expr 1 + `cat version.txt`) > version.txt
    

    Dann musst du nur noch aus der version.txt eine .c-Datei machen, in der deine Versionsnummer in einer Variable gespeichert wird.

    $ echo "int version `cat version.txt`;" > version.c
    

    Die benutzt du dann, wie AZ schon beschrieben hat.


Anmelden zum Antworten