A standard c++ qmake-based library is developed for Win32, Mac, and Linux. In the qmake project file, the platform-dependent sources are included like this:
win32 {
SOURCES += WinSystem.cpp
HEADERS += WinSystem.h
}
macx {
SOURCES += MacSystem.cpp
HEADERS += MacSystem.h
}
unix {
SOURCES += LinuxSystem.cpp
HEADERS += LinuxSystem.h
}
Now on OS X both unix and macx are defined, so the Linux files are also included and cause error! What is the solution to this?
You can negate and combine blocks, so in unix but not in mac would be: