将'sizeof'无效应用于不完整类型'QImage'

时间:2016-05-19 13:47:07

标签: c++ qt compiler-errors mingw qt-creator

即使在新创建的 Qt Creator项目中也会发生这种情况。这是一个Qt Widgets应用程序。当我尝试使用Qt 5.4.2 MinGW工具链编译它时,我收到此错误:

..\..\..\Qt\5.4\mingw491_32\include/QtCore/qtypeinfo.h:178:31: error: invalid application of 'sizeof' to incomplete type 'QImage'
         isLarge = (sizeof(TYPE)>sizeof(void*)), \
                               ^

如果我使用我安装的其他工具链(Qt 5.4.2 VS2008)编译它,那么编译时没有任何错误

所以我认为这是MinGW工具链配置的一个问题。

完整的编译器输出 - http://pastebin.com/kUW6Ss6v

这是MinGW工具链的问题,我该如何解决?

编辑:我创建了一个重现错误的最小示例:

#include <QImage>
int main(int argc, char *argv[]) {
    return 0;
}

这在MinGW工具链下失败并出现相同的错误,但是在VS2008工具链下编译。

1 个答案:

答案 0 :(得分:1)

正如我在评论中提到你的那样 - 你试过reinstall MinGW吗?并且,如果您尝试将#include <QImage>更改为#include <QtGui/QImage>,是否有任何更改?另外,我读到如果你有Qt 4和Qt 5,可能会与编译冲突。