为Win32,Mac和Linux开发了基于标准c ++ 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文件也包含在内并导致错误!解决方案是什么?
答案 0 :(得分:18)
你可以否定和组合块,所以在unix但不在mac中会是:
unix:!macx {
SOURCES += LinuxSystem.cpp
HEADERS += LinuxSystem.h
}