2011-06-16 12 views
15

Win32, Mac और Linux के लिए एक मानक C++ qmake- आधारित लाइब्रेरी विकसित की गई है। qmake प्रोजेक्ट फाइल में, मंच पर निर्भर स्रोतों इस तरह शामिल हैं:qmake प्लेटफ़ॉर्म स्कॉप्स

win32 { 
    SOURCES += WinSystem.cpp 
    HEADERS += WinSystem.h 
} 

macx { 
    SOURCES += MacSystem.cpp 
    HEADERS += MacSystem.h 
} 

unix { 
    SOURCES += LinuxSystem.cpp 
    HEADERS += LinuxSystem.h 
} 

अब ओएस एक्स पर दोनों unix और macx परिभाषित कर रहे हैं, तो लिनक्स फ़ाइलों को भी शामिल किए गए हैं और कारण त्रुटि! इसका समाधान क्या है?

उत्तर

17

आप नकारना कर सकते हैं और ब्लॉक गठबंधन, यूनिक्स में लेकिन मैक में नहीं तो होगा:

unix:!macx { 
    SOURCES += LinuxSystem.cpp 
    HEADERS += LinuxSystem.h 
} 
+0

इसके बाद एक कॉलन है या नहीं? यूनिक्स:! मैक्स: {...} – Alston

संबंधित मुद्दे