首页| 论坛| 消息

标题:【提问】在win32編譯QThread時出現的問題
作者:jjstephen
日期:2006-04-05 02:46
内容:

有一個QThread类:
------------------------------------------------
#ifndef HTTPTHREAD_H
#define HTTPTHREAD_H
#include
#include
class HttpThread : public QThread
{
Q_OBJECT

public:
HttpThread(QObject *parent =0);
protected:
void run();
private:
QHttp *http;
};

#endif
-----------------------------------------------------
#include "httpthread.h"
#include
#include
HttpThread::HttpThread(QObject *parent) : QThread(parent)
{
http = new QHttp();
};
void HttpThread::run()
{
//do something
};
------------------------------------------------------------------------
我在一个QMainWindow中这樣寫: HttpThread *mythread=new HttpThread(this);
首先想問HttpThread(QObject *parent =0); 和 HttpThread();有什么分別?
我的平台是Qt4.1.1+MinGW,編譯到最后出現:
release\httpthread.o(.text+0x7d):httpthread.cpp: undefined reference to'_imp____ZN5QHttpC1EP7QObject'
release\httpthread.o(.text+0x16d):httpthread.cpp: undefined reference to'_imp___ZN5QHttpC1EP7QObject'
到底是什么意思?
望請解答以上問題,謝謝.


#1 [jjstephen 04-05 03:01]
其它所有*.cpp都編譯成*.0了,是否連接有問題?
#2 [XChinux 04-05 08:10]
怀疑是你的.pro文件中没有把network模块加上。
在.pro文件中加上下面 这行:
QT += network
#3 [jjstephen 04-05 11:17]
是否进行网絡編程都要加上 QT += network ?
#4 [XChinux 04-05 11:18]
QT默认的已经加上了QtGui, QtCore这两个模块了,如果你用到了非这两个模块之外的其它QT模块,就得加上。
比如QtNetwork, QtXml, QtSql等,就要分别加上network, xml, sql

回复 发表
主题 版块