Je voudrais stocker des informations de classe en utilisant la macro Q_CLASSINFO. Cependant, je voudrais envelopper dans ma propre macro, par exemple:Macro expansion dans moc
#define DB_TABLE(TABLE) \
Q_CLASSINFO("db_table", #TABLE)
#define DB_FIELD(PROPERTY, COLUMN) \
Q_CLASSINFO("dbcol_" #PROPERTY, #COLUMN)
class Foo : public QObject
{
Q_OBJECT
DB_TABLE(some_table)
DB_FIELD(clientName, client_name)
}
Malheureusement, moc ne se développe pas des macros de sorte que le Q_CLASSINFO n'est pas ajouté.
J'ai essayé de nourrir moc avec une source déjà prétraité, mais elle échoue sur certaines classes Qt incluses.
Savez-vous une solution de contournement pour cela?
Pour l'enregistrement: Le moc de Qt 5 étend les macros. – peppe