如何在跨平台应用程序中使用QtWinExtras

时间:2015-03-31 21:31:19

标签: 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

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

1 个答案:

答案 0 :(得分:2)

如果要为多个平台编译项目,绝对应该以条件方式使用它们。这是因为winextrasx11extrasmacextrasandroidextras等模块仅适用于特定的操作系统。例如,在Linux上,qmake在创建使用winextras的项目时会给您错误。

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