Ho solo una domanda: è disponibile una definizione (o qualcosa di simile) se si sta compilando un codice per sapere se il flag della GUI è stato impostato?È disponibile una definizione per Qt gui?
Spiegherò meglio. Ho del codice che voglio riutilizzare per diversi programmi in QT. Ora alcune parti di questo codice sono utilizzate solo in applicazioni GUI (o migliori applicazioni di widget) e dipendono da QtGui e QtWidgets. Mi piacerebbe mettere queste parti in un blocco condizionale (#if
o #ifdef
) affinché vengano compilate solo nei progetti in cui sono incluse la GUI e/o le librerie di widget.
E, prima di suggerire questo, creare una libreria non è una soluzione. Preferirei definire ...
MODIFICA:
Probabilmente non mi sono spiegato chiaramente. Quello che sto cercando è la definizione associata all'inclusione della GUI. Esempio:
FILE MYFILE.H
#ifdef THE_QT_GUI_DEFINE_FLAG
#include <QPainter.h>
#endif
PROGETTO A: nel file QMake scrivo:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
PROGETTO B: nel file QMake scrivo:
QT -= gui
Ora, voglio includere QPainter.h
solo nel progetto A. Sai qual è il flag di definizione impostato quando aggiungo il g ui libreria? Ho provato con QT_QTGUI_MODULE_H
, ma non funziona (probabilmente perché viene utilizzato solo quando si compila la libreria qt).
Questa ora sembra essere una domanda di QMake sulla definizione dei simboli del preprocessore. Dovremmo aggiungere il tag qmake? – drescherjm
Ehm ... No, non si tratta di dire a QMake come definire un simbolo del preprocessore. È un "quale simbolo del preprocessore viene definito quando, attraverso QMake, aggiungo la funzione GUI?" domanda – frarugi87