关闭

Qt5.x报错记录

标签: qt5qt
224人阅读 评论(0) 收藏 举报
分类:

1. Qt5.7+vs2013 在windows平台下qrc_images.cpp(源文件images.qrc)的大小超过30M就报fatal error C1060: compiler is out of heap space错误。
解决方法:把一个qrc文件拆成多个qrc解决的,最终qrc_images.cpp 22.2M通过编译

Qt5.7 MinGW编译器则没有这个限制。
2. 环境qt5.x MinGW ExcelThread线程 pExcelEngine一个读写Excel的类class ExcelEngine : public QObject 其中 pExcel = new QAxObject(“Excel.Application”);
如果把pExcelEngine = new ExcelEngine;放入init函数中则会报错(错误信息忘记记录了。。。)
,放到run()中则不会。

bool ExcelThread::init(int quetypeid,
                       const QString xls)
{
    bool isok = true;
    queTypeId = quetypeid;
    xlsName = xls;
    return isok;
}
void ExcelThread::run()
{
    int ret = -1;
    if(pExcelEngine){
        delete pExcelEngine;
    }
    pExcelEngine = new ExcelEngine;
connect(pExcelEngine,SIGNAL(sendExcelData(QuestionData*,int)),
            this,SLOT(receiveExcelData(QuestionData*,int)));
    pExcelEngine->setSXlsFile(xlsName);
    pExcelEngine->setExcelType(queTypeId);
    int sheet = 1;
    bool isopen = pExcelEngine->Open(sheet,false);
......
}

成员变量在线程run()运行无法赋值,必须声明为static变量
.h 文件中 static QString _v;
.cpp文件构造函数上方QString 类名::_v = “”;

转换

这里写图片描述

Qt 共享库和Plugin不容易查的错误

这里写图片描述
–Plugin:找不到指定模块。1.路径错误 2.路径正确的情况下是否使用第三方库LIBS +=-L$$PWD/ -lxx
表示第三库的dll没有放入指定路径
–上图找不到BaseWidget.h 查看最后加载哪个.cpp文件图片:mainwindow.cpp
再在pro文件中加入缺失BaseClass/BaseClass.pri

下面的错误头文件明明已经加了,还提示找不到,查看提示是蓝色框框中的文件头文件没加pri(多项目编程最常见的错误)需要把当前的头文件路径加到蓝色框文件项目中。
这里写图片描述

**[Qt Creator的问题]**Cannot retrieve debugging output
,两个IDE(同一qt版本打开2次及以上)同时打开,后打开的会出现这个情况
解决方案:
只打开一个IDE。(一个qt版本只打开一次)

【警告】
setMouseGrabEnabled: Not setting mouse grab for invisible window QWidgetWindow/’QMenuClassWindow’

QMenu类中没有QAction时会报

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3115次
    • 积分:216
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论