• 4662阅读
  • 3回复

关于qt 2.3.7的多线程问题 [复制链接]

上一主题 下一主题
离线wgzymzx
 
只看楼主 正序阅读 楼主  发表于: 2006-08-13
我用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重新编辑 ]
离线monkey888
只看该作者 3楼 发表于: 2007-04-14
QThread 不身是没有继承QObject类的,所以不行!
离线fengshenx

只看该作者 2楼 发表于: 2006-08-22
多线程需要在移植库时加上相应的参数进行支持。
离线shiroki

只看该作者 1楼 发表于: 2006-08-16
你用的是qt还是qte呢? 你的qt编译了mt支持吗
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
快速回复
限100 字节
 
上一个 下一个