C++ 如何在跨平台应用中使用QtWinExtras

C++ 如何在跨平台应用中使用QtWinExtras,c++,qt,cross-platform,qt5,qtwinextras,C++,Qt,Cross Platform,Qt5,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 //.pro文件 win32:QT+=winextras //

我应该将模块和标题包含与以下条件分开吗

/// .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
//.pro文件
win32:QT+=winextras
///.cpp文件
#如果你赢了
#包括
#恩迪夫
/// ... 后来
#如果你赢了
QWinTaskbarButton*taskbarButton=新的QWinTaskbarButton(此);
#恩迪夫

或者我可以省略这些条件吗?

如果你想为多个平台编译你的项目,你必须以有条件的方式使用它们。这是因为像
winextras
x11extras
macextras
androidextras
这样的模块仅适用于特定的操作系统。例如,在Linux上,当创建使用
winextras
的项目时,qmake会给您带来错误

除非您只想为特定平台编译它,否则没有必要将其设置为有条件的。所以这完全取决于您和您的用例