Wie fügt man dem Qt Creator Pre-Processing-Defs (Makros) hinzu?
In Eclipse gibt es eine option, um anzugeben, pre-Verarbeitung defines (#ifdef-Makros), um ein Projekt mithilfe der option Symbole in Pfade und Symbole. Dies hilft bei der effektiven Indexierung des Codes, die ist cross-Plattform. Gibt es eine option, um diese in Qt creator?
InformationsquelleAutor der Frage Bharathwaaj | 2010-09-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der QT-Dokumentation:
Ist, wenn Sie importieren ein Projekt mit dem Namen MyProject, dann ist der pre-Prozessor-Definitionen angegeben werden, in MyProject.config
Für meine Projekte, es bewirkt, dass der indexer zu erkennen, dieses Projekt definieren Breite und verändert das auto-complete, um dies zu reflektieren.
InformationsquelleAutor der Antwort Gus E
Hängt es:-)
Folgenden ist vorausgesetzt, Sie sind mit qmake-basierte Projekte:
Ersten, die Sie hinzufügen können
DEFINES += SOME_DEFINE=value
in Ihr .pro Datei. Wird abgeholt im inneren Schöpfer und beim Bau auf der Kommandozeile und sollte auch beim erstellen einer MSVC oder XCode-Projekt aus .pro Datei.Dann können Sie
DEFINES += SOME_DEFINE=value
dem qmake-Aufruf, der Qt Creator Problem beim konfigurieren des Projekts. Das passiert in der Projekt-Modus Build-Einstellungen, QMake Schritte.Schließlich, Sie können
#define SOME_DEFINE
Wert Grundpfandrechte in eine header-Datei, und schließen Sie,. Das funktioniert für alle Arten von Projekten:-)InformationsquelleAutor der Antwort Tobias Hunger
Wollte ich angeben, die eine #define-string in der .pro-Datei, aber mein code endete mit dem Inhalt des Strings ohne Anführungszeichen. Ich hatte zu entkommen die Anführungszeichen, und dann entgehen entweicht zu bekommen, ein paar Zitate, um endlich alle den Weg zu meinem code. Dies ist, weil qmake-Streifen aus einer Reihe von Fluchten und einige Zitate, dann wird der Befehl-Linie-Streifen aus, um den rest von Ihnen. Dieser arbeitete für mich:
Unter Windows ist diese VERSION string kann dann verwendet werden .rc-Datei zu erstellen, die version Sachen, wo Windows es will und wie auch in code für eine "About" - Menü.
InformationsquelleAutor der Antwort Brandon
Ich denke, die ersten Antworten sind gut, aber Sie verlangen, dass Sie bei der Verwaltung Ihrer Konfiguration manuell in der Erwägung, dass es gibt Möglichkeiten, damit der IDE verwalten diese für Sie automatisch basierend auf, ob Sie eine release oder debug Konfiguration ausgewählt.
Dieses bit kann redundant sein, aber bitte beachten Sie, dass dies für Sie zu arbeiten nur, wenn Sie mit der IDE zum erstellen von. Offensichtlich ist dies nicht der Fall, müssen Sie eine andere Lösung.
Schritte
Da Bilder mehr als tausend Worte, hier ein Beispiel, wie definieren Sie eine debug-Makros für Ihre debug-build mit Qt Creator 4.3.1:
DEBUG
für Ihre#ifdef DEBUG
s in den code; in meinem Fall ist es__CTS_DEBUG__
)Das makro wird jetzt nur definiert werden, wenn Sie mit Ihrer debug-Konfiguration; wenn Sie Ihren Release config (siehe Schritt 1), wird undefined automatisch und Ihr bedingt kompilierten debug-code entfernt werden, wie in den Bildern unten, das ist genau das, was Sie immer wollte.
Ergebnisse
Mit der debug config ausgewählt
Mit der release config ausgewählt:
InformationsquelleAutor der Antwort code_dredd
Können Sie festlegen, einige PRÄPROZESSOR in den Projekt-Einstellungen im QtCreator. Ich habe nicht QtCreator hier, aber ich erinnere mich, es ist ein Reiter für die Projekt-Konfiguration.
InformationsquelleAutor der Antwort Patrice Bernassola