• 7946阅读
  • 4回复

【提问】在win32編譯QThread時出現的問題 [复制链接]

上一主题 下一主题
离线jjstephen
 
只看楼主 正序阅读 楼主  发表于: 2006-04-05
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
有一個QThread类:

------------------------------------------------
#ifndef HTTPTHREAD_H
#define HTTPTHREAD_H

#include <QThread>
#include <QtNetwork/QHttp>

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

#endif
-----------------------------------------------------
#include "httpthread.h"
#include <QThread>
#include <QtNetwork/QHttp>

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'

到底是什么意思?

望請解答以上問題,謝謝.
离线XChinux

只看该作者 4楼 发表于: 2006-04-05
QT默认的已经加上了QtGui, QtCore这两个模块了,如果你用到了非这两个模块之外的其它QT模块,就得加上。
比如QtNetwork, QtXml, QtSql等,就要分别加上network, xml, sql
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线jjstephen
只看该作者 3楼 发表于: 2006-04-05
是否进行网絡編程都要加上 QT += network ?
离线XChinux

只看该作者 2楼 发表于: 2006-04-05
怀疑是你的.pro文件中没有把network模块加上。
在.pro文件中加上下面 这行:
QT += network
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线jjstephen
只看该作者 1楼 发表于: 2006-04-05
其它所有*.cpp都編譯成*.0了,是否連接有問題?
快速回复
限100 字节
 
上一个 下一个