Versionsnummer einpflegen

Verschiedenes zu Qt
Antworten
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Versionsnummer einpflegen

Beitrag von anno1988 »

Hallo zusammen.

Wie kann ich denn im Qt Creator einer Versionsnummer eintragen, damit ich später beim compilieren immer eine andere angeben kann, falls sich mal was verändert hat.

Diese Versionsnummer will ich dann in der Oberfläche verwenden und auch anzeigen, dass man weiß welche es ist.

Oder soll ich es direkt irgendwo im Code eintragen? Was ist denn besser?


gruß
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag von anno1988 »

ich ahbe mal versucht in der .pro-datei des Projektes eine "VERION" variable hinzuzuschreiben.

Wenn ich diese Variable dann aber in einer Klasse verwenden wollte, wurde sie nicht gefunden?

Wo muss ich denn eine Varialbe des Präprozessors ablegen, damit sie global verändert und im programm genutzt werden kann?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag von anno1988 »

Also diesen Bereich hab eich gefunden:

http://qt.nokia.com/doc/4.6/qmake-varia ... ml#version

Allerdings funktioniert das nicht, wenn ich die Variable in meine "<projekt>.pro" Datei reinschreibe.

Diese wird dann in den source dateien nie gefunden.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das sit ja auch die Versionierung der so-Dateien und definiert keine Präprozessor-Variable...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag von anno1988 »

kann ich so etwas überhaupt einstellen, dass ich dem quellcode meine versionsnummer beim compilieren übergebe?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich habe Dir doch schon gezeigt wie man per DEFINES Präprozessor-Defines mit übergeben kann... was noch?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Ja, und der Link wurde dir oben gepostet - mit "DEFINES".
Ich hab das bisher nur mit cmake gemacht, denke aber im .pro wird das nicht anders auschauen.

Code: Alles auswählen

DEFINES += MY_VERSION=10501000
Im Code steht dir das Symbol "MY_VERSION" dann mit der Versionsnummer zur Verfügung.
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag von anno1988 »

danke für die schnelle hilfe.
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag von anno1988 »

franzf hat geschrieben:Ja, und der Link wurde dir oben gepostet - mit "DEFINES".
Ich hab das bisher nur mit cmake gemacht, denke aber im .pro wird das nicht anders auschauen.

Code: Alles auswählen

DEFINES += MY_VERSION=10501000
Im Code steht dir das Symbol "MY_VERSION" dann mit der Versionsnummer zur Verfügung.
ich habe das mal ausprobiert. allerdings funktioniert das nciht so ganz.

Code: Alles auswählen


DEFINES += VERSION_STR="0.10 Alpha"

Code: Alles auswählen

ui->lbl->setText(VERSION_STR);

Dann erhalte ich folgende Fehlermeldung:

Code: Alles auswählen


dialog.cpp:10: error: no matching function for call to 'QLabel::setText(double)'

Irgendwie wird das nciht richtig erkannt, dass das ein String sein soll und keine zahl
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

DEFINES += VERSION="12345"
ggf. noch etwas mehr quoten.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag von anno1988 »

also kann ich da dann nur eine Zahl angeben?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Nein - siehe meinen Post. Und selbst wenn - wo wäre das Problem?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
anno1988
Beiträge: 280
Registriert: 23. Januar 2009 20:49

Beitrag von anno1988 »

Ich wollte einem label die versionsnummer übergeben. Aber das funktioniert ja nicht, da das qmake bei diesen defines nur mit zahlen umgehen kann.

klar, wenn ich intern etwas prüfen muss, dann verwende ich natürlich eine zahl. So hätte ich dann aber alles zentral liegen, wo ich die verionsnummer ändern kann.
Antworten