• 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) 中被引用
    比如这个就是只声明虚函数,未实现报的错误。可以观察输出结构可以得到;所以不要盲目去找答案,先去找线索;

    怕什么真理无穷,进一寸有一寸的欢喜。---胡适
  • 相关阅读:
    关于android.view.WindowLeaked异常的解决方案
    android 使用shape使android组件呈现特殊效果
    (IOS)N duplicate symbols for architecture i386
    (IOS)国际本地化设置
    URL参数中有 特殊符号或加密数据 的问题解决
    S2S:分享出的营销机遇
    (IOS)Apple 证书相关
    (IOS)阻止文件被iTunes和iCloud同步
    (IOS)多线程开发
    时间复杂度
  • 原文地址:https://www.cnblogs.com/hujianglang/p/12403410.html
Copyright © 2020-2023  润新知