Должен ли я отделить модуль и заголовок включает в себя такие условия, как
/// .pro file
win32:QT += winextras
/// .cpp file
#ifdef Q_OS_WIN
#include <QtWin>
#endif
/// ... later
#ifdef Q_OS_WIN
QWinTaskbarButton *taskbarButton = new QWinTaskbarButton(this);
#endif
или я могу опустить эти условия?
Если вы хотите скомпилировать свой проект для нескольких платформ, вам определенно следует использовать их условно. Это потому, что такие модули, как winextras
, x11extras
, macextras
а также androidextras
доступны только для конкретной ОС. Например, в Linux qmake выдаст вам ошибки при создании проекта, который использует winextras
,
Если вы не хотите скомпилировать его только для конкретной платформы, нет необходимости делать его условным. Так что все зависит от вас и вашего варианта использования.