Области применения платформы qmake - PullRequest
16 голосов
/ 16 июня 2011

Стандартная библиотека на основе c ++ qmake разработана для Win32, Mac и Linux. В файле проекта 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 Ответ

18 голосов
/ 16 июня 2011

Вы можете отменять и комбинировать блоки, поэтому в Unix, но не в Mac будет:

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