• 6768阅读
  • 8回复

[提问]紧急求助!!这个问题困扰我很多天了。。。。。 [复制链接]

上一主题 下一主题
离线zds8978
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-07
我原本创建了一个dockwidget然后创建了一个slot,后来把dockwidget名字改了,就出错了。。。
额,这只是其中一个,其他的也都差不多,改了名称,但slot就出错
出错的文件一直是moc_名称.obj:file not found
后来发现在debug中有一个moc_名称.cpp里面有曾经保留的dockwidget的信息,把它修改了再编译通过了
但重新clean再build时候又出现了错误。。。
求高手帮助啊~~~~~~
moc_it_campus.obj:: error:  unresolved external symbol "private: void __thiscall IT_Campus::on_action_Controller_triggered(void)" (?on_action_Controller_triggered@IT_Campus@@AAEXXZ) referenced in function "public: virtual int __thiscall IT_Campus::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@IT_Campus@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
moc_it_campus.obj:: error:  unresolved external symbol "private: void __thiscall IT_Campus::on_action_BulidingTree_triggered(void)" (?on_action_BulidingTree_triggered@IT_Campus@@AAEXXZ) referenced in function "public: virtual int __thiscall IT_Campus::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@IT_Campus@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
moc_it_campus.obj:: error:  unresolved external symbol "private: void __thiscall IT_Campus::on_action_Domitry_triggered(void)" (?on_action_Domitry_triggered@IT_Campus@@AAEXXZ) referenced in function "public: virtual int __thiscall IT_Campus::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@IT_Campus@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
moc_it_campus.obj:: error:  unresolved external symbol "private: void __thiscall IT_Campus::on_dockWidget_visibilityChanged(bool)" (?on_dockWidget_visibilityChanged@IT_Campus@@AAEX_N@Z) referenced in function "public: virtual int __thiscall IT_Campus::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@IT_Campus@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
moc_it_campus.obj:: error:  unresolved external symbol "private: void __thiscall IT_Campus::on_dockWidget_3_visibilityChanged(bool)" (?on_dockWidget_3_visibilityChanged@IT_Campus@@AAEX_N@Z) referenced in function "public: virtual int __thiscall IT_Campus::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@IT_Campus@@UAEHW4Call@QMetaObject@@HPAPAX@Z)

离线XChinux

只看该作者 1楼 发表于: 2011-03-07
把你源代码放上来看看.
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线zds8978
只看该作者 2楼 发表于: 2011-03-07
回 1楼(XChinux) 的帖子
#include "it_campus.h"
#include "ui_it_campus.h"
IT_Campus::IT_Campus(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::IT_Campus)
{
    ui->setupUi(this);
    setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
    setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
    ui->ConDock->hide();
    ui->BuiDock->hide();
    ui->welcome->show();
    ui->clsPage->hide();
    ui->dormPage->hide();
}
IT_Campus::~IT_Campus()
{
    delete ui;
}
void IT_Campus::on_action_Exit_triggered()
{
    exit(0);
}
void IT_Campus::on_action_Classroom_triggered()
{
    ui->dormPage->hide();
    ui->dormTree->hide();
    ui->welcome->hide();
    ui->clsPage->show();
    ui->ConDock->show();
    ui->BuiDock->show();
    ui->clsTree->show();
}
void IT_Campus::on_action_Dormitry_triggered()
{
    ui->clsPage->hide();
    ui->ConDock->hide();
    ui->clsTree->hide();
    ui->welcome->hide();
    ui->dormTree->show();
    ui->dormPage->show();
    ui->BuiDock->show();
}
void IT_Campus::on_action_BuildingTree_triggered()
{
    if(ui->action_BuildingTree->isChecked())
        ui->BuiDock->show();
    else
        ui->BuiDock->hide();
}
void IT_Campus::on_actionController_triggered()
{
    if(ui->actionController->isChecked())
        ui->ConDock->show();
    else
        ui->ConDock->hide();
}
void IT_Campus::on_BuiDock_visibilityChanged(bool visible)
{
    ui->action_BuildingTree->setChecked(visible);
}
void IT_Campus::on_ConDock_visibilityChanged(bool visible)
{
    ui->actionController->setChecked(visible);
}
离线jdwx

只看该作者 3楼 发表于: 2011-03-07
删除编译过程中生成的全部中间文件,再编译试试。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线roywillow

只看该作者 4楼 发表于: 2011-03-07
是不是你修改了ui文件中的槽然后没有实际定义那个槽?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线zds8978
只看该作者 5楼 发表于: 2011-03-08
回 3楼(jdwx) 的帖子
删掉再重新编译还是不行
离线zds8978
只看该作者 6楼 发表于: 2011-03-08
回 4楼(roywillow) 的帖子
是修改了ui,改了控件的名称,然后重新生成了槽,有什么办法可以解决么?
离线roywillow

只看该作者 7楼 发表于: 2011-03-08
搞不懂什么叫重新生成了槽
从头到尾把原来该做的都做一遍就是了
或者删掉所有的编译时生成的文件,包括debug/release文件夹,各种Makefile,就留下工程的代码重新做一遍还能出问题?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线zds8978
只看该作者 8楼 发表于: 2011-03-08
回 7楼(roywillow) 的帖子
对啊,全部删掉还是错,。。。。。
快速回复
限100 字节
 
上一个 下一个