Ответ 1
Вы можете отменить и объединить блоки, поэтому в unix, но не в mac, будет:
unix:!macx {
SOURCES += LinuxSystem.cpp
HEADERS += LinuxSystem.h
}
Для 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 также включены и вызывают ошибку! Каково решение этого?
Вы можете отменить и объединить блоки, поэтому в unix, но не в mac, будет:
unix:!macx {
SOURCES += LinuxSystem.cpp
HEADERS += LinuxSystem.h
}