Как использовать QtWinExtras в кроссплатформенном приложении

Должен ли я отделить модуль и заголовок включает в себя такие условия, как

/// .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

или я могу опустить эти условия?

3

Решение

Если вы хотите скомпилировать свой проект для нескольких платформ, вам определенно следует использовать их условно. Это потому, что такие модули, как winextras, x11extras, macextras а также androidextras доступны только для конкретной ОС. Например, в Linux qmake выдаст вам ошибки при создании проекта, который использует winextras,

Если вы не хотите скомпилировать его только для конкретной платформы, нет необходимости делать его условным. Так что все зависит от вас и вашего варианта использования.

2

Другие решения


По вопросам рекламы [email protected]