zoukankan      html  css  js  c++  java
  • qt错误信息

    问题:qt qmake报错:
    :-1: error: File Makefile.Debug doesn't exist.
    原因:.pro中使用子目录使用工程时,TEMPLATE = subdirs,写成了SUBDIRS,导致以上错误;所以要根据提示去查找错误,必要时去查看makefile文件,发现确实不一样;
    如何通过观察现象,从而分析问题原因很重要;
    正确写法如下:
    TEMPLATE = subdirs
    SUBDIRS += src

    CONFIG(debug,debug | release){
    SUBDIRS +=

    }

    问题2:错误信息:
    ElectricityThread.obj:-1: error: LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall ElectricityThread::metaObject(void)const " (?metaObject@ElectricityThread@@UBEPBUQMetaObject@@XZ)
    原因:.pro工程文件中导入时只导入了.cpp文件,没有导入对应的.h文件导致错误;
    3,注意不要用中间变量连续赋值,会出现问题;
    例如:
    QString strSN = "ff";
    QByteArray ba = strSN.toLatin1().data();


    3,删除widget,同时删除内部元素;
    for(auto it = vec.begin(); it != vec.end(); ++it)
    {
    if(*it != nullptr)
    {
    delete (*it);
    (*it) = nullptr;
    }
    }
    std::vector<Widget*>().swap(vec); //清除容器并最小化它的容量,

    QT中一些错误处理总结:
    1,如果出现一些引用错误啥的@@这种情况,试一下把生成的中间文件obj文件,moc_xx.cpp文件统统删除后,再次编译。
    一些莫名其妙的问题,可能都是这个原因。应该是编译方面的问题导致如此的。
    2,
    :-1: error: LNK2019: 无法解析的外部符号 "public: virtual __thiscall ClearContentLineEdit::~ClearContentLineEdit(void)" (??1ClearContentLineEdit@@UAE@XZ),该符号在函数 "public: virtual void * __thiscall ClearContentLineEdit::`scalar deleting destructor'(unsigned int)" (??_GClearContentLineEdit@@UAEPAXI@Z) 中被引用
    比如这个就是只声明虚函数,未实现报的错误。可以观察输出结构可以得到;所以不要盲目去找答案,先去找线索;

    怕什么真理无穷,进一寸有一寸的欢喜。---胡适
  • 相关阅读:
    前端构建工具gulp使用
    网页部分内容显示不全
    less简单入门
    jquery——移动端滚动条插件iScroll.js
    css3常用动画+动画库
    windows下nodejs环境配置
    jquery——滚动条插件jscroll.js
    工欲善其事必先利其器——dreamweaver
    jquery常用方法
    nodejs模块——http模块
  • 原文地址:https://www.cnblogs.com/hujianglang/p/12403410.html
Copyright © 2011-2022 走看看