当前位置: 代码迷 >> QT开发 >> 异常:LNK2019: 无法解析的外部符号 的有关问题
  详细解决方案

异常:LNK2019: 无法解析的外部符号 的有关问题

热度:137   发布时间:2016-04-25 04:24:02.0
错误:LNK2019: 无法解析的外部符号 的问题
class shot:public QLabel
{
    Q_OBJECT
signals:
    void del_shot(shot*);
};

class Widget : public QWidget
{
    Q_OBJECT
public slots:
    void del(shot*);
};

void Widget::keyPressEvent(QKeyEvent *event)
{
    if(event->key()==Qt::Key_Control)
    {
        shot *a = new shot(int(u->getdir()),u->getX(),u->getY(),this);
        connect(a,SIGNAL(del_shot(shot*)),this,SLOT(del(shot*)));

    }
}


void shot::move()
{
    switch(Dir)
    {
    case U:
        if(Y-speed>0)
        {
            Y=Y-speed;
                                    //  switch简略写了,只写了向上走(U),其他情况都类似

        }
        else
            emit del_shot(this);
        break;
    }
}


编译报错:   

moc_widget.obj:-1: 错误:LNK2019: 无法解析的外部符号 "public: void __thiscall Widget::del(class shot *)" (?del@Widget@@QAEXPAVshot@@@Z),该符号在函数 "private: static void __cdecl Widget::qt_static_metacall(class QObject *,enum QMetaObject::Call,int,void * *)" (?qt_static_metacall@Widget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z) 中被引用



debug\tobe_label.exe:-1: 错误:LNK1120: 1 个无法解析的外部命令


代码就是添上如上信号和槽才报错的,是什么问题呢?求教
------解决方案--------------------
没人知道吗?
------解决方案--------------------
我也遇到一样的问题,求大神帮忙啊!
------解决方案--------------------
我也遇到了同样的问题,请解决了没有啊?
  相关解决方案