【问题标题】:Selectively include headers in Qt using preprocessors使用预处理器在 Qt 中选择性地包含标头
【发布时间】:2012-06-08 18:24:42
【问题描述】:

我正在尝试通过以下方式在跨平台项目中包含特定于 Windows 的标头。

#ifdef Q_OS_WIN
#include "qt_windows.h"
#include "Shellapi.h"
#endif

由于某些原因,文件未正确包含。

注意:我使用的是mingw-gcc编译器。

【问题讨论】:

  • 你得到什么样的错误? Q_OS_WIN 定义了吗?
  • 关于 Shellapi.h 中定义的方法的投诉不存在。我假设 Q_OS_WIN 是由 Qt 定义的。
  • 你应该在使用Q_OS_WIN之前包含任何qt头文件(例如

标签: qt include preprocessor


【解决方案1】:

我认为没有定义。它应该是Q_OS_WIN32Q_WS_WIN。见Qt Global

#include <QtGlobal>

#ifdef Q_OS_WIN32
#include "qt_windows.h"
#include "Shellapi.h"
#endif

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 2017-08-09
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 2012-06-14
    相关资源
    最近更新 更多