我用qthread写了个线程类。
源码1:thread.cpp
#include "thread.h"
MyThread::MyThread(int i,char *na)
{
local_i = i;
local_na = na;
}
MyThread::~MyThread()
{
}
void MyThread::run()
{
for(int i=0;i<1000;i++)
{
local_i++;
printf("%s's i=%d\n",local_na,local_i);
}
//exec();
}
int main()
{
MyThread *th1, *th2;
th1 = new MyThread(10000,"th1");
th2 = new MyThread(20000,"th2");
th1->start();
th2->start();
return 0;
}
源码2:thread.h
#define QT_THREAD_SUPPORT
#include <qthread.h>
#include <stdio.h>
class MyThread:public QThread
{
Q_OBJECT
public:
MyThread(int i,char *na);
~MyThread();
void run();
private:
int local_i;
char *local_na;
};
可是在编译的时候提示:
moc_thread.cpp: no method QThread::className
moc_thread.cpp: no method QThread::staticMetaObject
我看了qthread继承于public Qt(不知道Qt这个类的定义在哪里?)
刚开始接触QT,不知道该问题该如何处理才能解决?
请大侠们帮帮忙看看,非常感谢!!!
[ 此贴被XChinux在2006-08-13 20:40重新编辑 ]