我是否应该将模块和标题分开包括像
这样的条件/// .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
或者我可以省略这些条件吗?
答案 0 :(得分:2)
如果要为多个平台编译项目,绝对应该以条件方式使用它们。这是因为winextras
,x11extras
,macextras
和androidextras
等模块仅适用于特定的操作系统。例如,在Linux上,qmake在创建使用winextras
的项目时会给您错误。
除非您只想为特定平台编译它,否则无需使其成为条件。所以这一切都取决于你和你的用例。