Ich suche nach Code, mit dem ich überprüfen kann, ob meine Anwendung auf einem Handy / Tablet oder einem Computer ausgeführt wird. Hier ist ein Beispiel, um zu erklären, was ich mache:
%Vor%Wie sieht es für Sie aus? Erfinde ich das Rad neu?
Der Grund, warum es (meines Wissens) keine vorgefertigten #defines dafür gibt, ist die Definition von Mobile vs Desktop vs embedded ist verschwommen. Zum Beispiel wird Q_OS_QNX neben Q_OS_BLACKBERRY gesetzt, und Q_OS_DARWIN wird sowohl an Q_OS_IOS als auch an Q_OS_MACX gesetzt. Ähnliches Problem für Q_OS_LINUX auf Android, und dann gibt es eine Reihe von Verwirrung um Windows-Versionen.
Wenn die von Ihnen vorgeschlagenen Definitionen für Ihren Anwendungsfall geeignet sind, halte ich das für einen durchaus vernünftigen Weg. Ich würde vielleicht ein anderes Namensschema als Q_OS_foo verwenden.