最近下载了Qt5.0版本,想自己搞搞开发,有个问题一直困扰我,搞了好几天,今天晚上还是没搞出来,
急向各路大神请教。
我在自己的Qt工程中创建了一个类,但是申明文件.h和实现文件.cpp一直链接不上,
报错是这个
mainwindow.obj:-1: 错误:LNK2019: 无法解析的外部符号 "public: __thiscall InputDispatcher::InputDispatcher(void)" (??0InputDispatcher@@QAE@XZ),该符号在函数 "public: __thiscall MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QAE@PAVQWidget@@@Z) 中被引用
我仔细检查了自己的InputDispatcher类,感觉没问题,于是把include的头文件,从inputdispatcher.h改成了
inputdispatcher.cpp,居然就通过了,但是多添加了其他类之后,这个问题就更加严重了,以至于用这个方法也没办法解决,跪求大神帮忙,怎么让Qt找到inputdispatcher.h文件对应的cpp文件。。。。
这是我类的实现代码
inputdispatcher.h
#ifndef INPUTDISPATCHER_H
#define INPUTDISPATCHER_H
#include <QString>
class InputDispatcher
{
public:
InputDispatcher();
~InputDispatcher();
bool newDateRecord();
bool openDateRecord();
bool saveDateRecord();
bool saveAsDateRecord();
bool deleteDateRecord();
void showDateRecord();
void showDigitalDateRecord();
void upLoad();
void downLoad();
void handleAccount();
QString showProjectMessage();
void upLoadBug();
private:
};
#endif // INPUTDISPATCHER_H
inputdispatcher.cpp
#include "InputDispatcher.h"
//#include "filemanager.h"
InputDispatcher::InputDispatcher()
{
}
InputDispatcher::~InputDispatcher()
{
}
bool InputDispatcher::newDateRecord()
{
return true;
}
bool InputDispatcher::openDateRecord()
{
return true;
}
bool InputDispatcher::saveDateRecord()
{
return true;
}
bool InputDispatcher::saveAsDateRecord()
{
return true;
}
bool InputDispatcher::deleteDateRecord()
{
return true;
}
void InputDispatcher::showDateRecord()
{
}
void InputDispatcher::showDigitalDateRecord()
{
}
void InputDispatcher::upLoad()
{
}
void InputDispatcher::downLoad()
{
}
void InputDispatcher::handleAccount()
{
}
QString InputDispatcher::showProjectMessage()
{
return QObject::tr("ff");
}
void InputDispatcher::upLoadBug()
{
}
剩下的是系统自带的mainwindow类和main.cpp,我在mainwindow的方法中调用了inputdispatcher的几个方法,如果去掉inputdispatcher类,程序还是能正常运行的。
qt
------解决方案--------------------
方便的话 把工程文件发给我 我帮你看看吧
------解决方案--------------------
环境没有搭好嘛