2017-04-06 3 views
1

Wenn meine Anwendung abstürzt, meldet die Windows-Ereignisanzeige immer meine Anwendungsversion als "0.0.0.0". Windows Event Viewer version Ich kann nicht herausfinden, wie die Anwendungsversion auf eine Weise eingestellt wird, die die Windows-Ereignisanzeige erkennt. Ändern Sie es mit QApplication::setApplicationVersion() scheint es nicht zu tun.Wie stelle ich meine Anwendungsversion für Windows in Qt ein?

Offensichtlich gibt es bessere Möglichkeiten, ein Programm zu debuggen als das Windows-Absturzprotokoll, aber statt dessen würde ich diesen Wert so festlegen, dass Windows ihn erkennt. Meine IDE ist Qt Creator.

Antwort

3

Sie können das VERSION Qmake Variable in Ihrer pro Datei:

VERSION = 1.0.0.0

Unter Windows löst die automatische Erzeugung einer RC-Datei, wenn die RC_FILE und RES_FILE Variablen nicht gesetzt sind. Die generierte .rc-Datei enthält FILEVERSION- und PRODUCTVERSIONS-Einträge, die mit Major-, Minor-, Patch- -Level und Build-Nummer gefüllt sind.

+0

Das ist genau richtig. Es funktioniert jedoch nicht, wenn das App-Icon [wie hier beschrieben] gesetzt wird (http://doc.qt.io/qt-4.8/appicon.html), da dies die von 'VERSION' erstellte rc-Datei überschreibt. Gibt es eine Möglichkeit, diese beiden RC-Dateien zu kombinieren? 'RC_FILE + =' scheint nicht den gewünschten Effekt zu haben. – Phlucious

+2

@Phlucious In Qt 5 gibt es eine handliche ['RC_ICONS'] (http://doc.qt.io/qt-5/qmake-variable-reference.html#rc-icons)' qmake' Variable, aber ich ' Ich bin mir nicht sicher, ob es in Qt 4 verfügbar ist. Wenn nicht, können Sie den Inhalt beider RC-Dateien immer manuell zu einem einzigen kombinieren und mit 'RC_FILE' darauf verweisen. – kefir500

+0

Perfekt. Vielen Dank! Die Notwendigkeit, zu Qt5 zu migrieren, wird selbst bei einer QWidget-Anwendung immer offensichtlicher. – Phlucious

Verwandte Themen