3

我是否应该将模块和标头与条件分开,例如

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

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

4

1 回答 1

2

如果你想为多个平台编译你的项目,你绝对应该有条件地使用它们。这是因为 、 和 等模块winextrasx11extras适用macextrasandroidextras特定操作系统。例如,在 Linux 上,qmake 在制作使用winextras.

除非您只想为特定平台编译它,否则无需使其成为有条件的。所以这一切都取决于你和你的用例。

于 2015-04-04T15:51:05.163 回答