Ermitteln Sie, ob qt zur Laufzeit einen Debugbuild ausführt

Wie kann ich zur Laufzeit in einem QObject erkennen, ob es sich bei dem Qt, mit dem es verknüpft ist, um einen Debug- oder Release-Build handelt?

Ich weiß über dieQT_NO_DEBUG-Makro, aber das ist zum Zeitpunkt der Erstellung für Qt behoben.

Beispiel 1, wenn dies nützlich wäre: Ich habe ein Plugin, das als Crash-Handler fungiert und ein Backtrace bereitstellt. Ich möchte nur, dass dieses Plugin versucht, all diese Arbeit zu erledigen, wenn die qt-Debugsymbole verfügbar sind.

Beispiel 2: Ich habe einen Kommandozeilenargument-Parser in pyqt geschrieben. Es möchte die Programmhilfe drucken. Wie wird festgestellt, ob QApplication den -sync-Schalter innerhalb von pyqt unterstützt oder nicht? Wenn ich Informationen über den Build-Typ hätte, könnte ich -sync einfach zu der Liste der Argumente hinzufügen oder daraus entfernen, die das Programm versteht.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage