Области платформы qmake

Для Windows32, Mac и Linux разработана стандартная библиотека С++ qmake. В файле проекта qmake зависимые от платформы источники включаются следующим образом:

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

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

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

Теперь в OS X определены как unix, так и macx, поэтому файлы Linux также включены и вызывают ошибку! Каково решение этого?

Ответы

Ответ 1

Вы можете отменить и объединить блоки, поэтому в unix, но не в mac, будет:

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