• 7418阅读
  • 9回复

如何使用QTcpServer类 [复制链接]

上一主题 下一主题
离线gxichun
 

只看楼主 倒序阅读 楼主  发表于: 2006-11-10
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
为什么定义一个QTcpServer指针后编译通不不过?我所定义的格式和fortuneserver例子里定义的方法是一样的,不知道啥原因,请各位高手给以指点 代码和错误信息如下:

我是这样定义的:

1,在主类的声明中:
#include <QtNetwork/QTcpServer>

class myclass:public QDialog
{
Q_OBJECT
  public:
 
  public slots:

  private:

    QTcpServer *tcpServer;
 
};

2,在类的构造函数中:

myclass:myclass

{

tcpServer=new QTcpServer(this);
tcpServer->listen();

}
[ 此贴被XChinux在2006-11-16 22:51重新编辑 ]
离线cavendish

只看该作者 1楼 发表于: 2006-11-10
好好看example
C++ GUI Programming with Qt3/Qt4里都有相关例子的
离线gxichun

只看该作者 2楼 发表于: 2006-11-10
谢谢 cavendish
离线gxichun

只看该作者 3楼 发表于: 2006-11-10
我又想了想,我是在windows平台下编译的,是不是QTcpServer本身对该环境有bug?
离线XChinux

只看该作者 4楼 发表于: 2006-11-10

有关在多重继承方式下进行QT编程的问题,同样的问题再一次碰到了
前一次,也是在该种方式下实现FTP客户端的时候,
而这次是利用多重继承,实现TCPServer
以下是错误代码:
E:/server/myserver.cpp:15: undefined reference to `_imp___ZN12QHostAddressC1ENS_
14SpecialAddressE'
debug\myserver.o(.text+0x60f):E:/server/myserver.cpp:15: undefined reference to
`_imp___ZN10QTcpServer6listenERK12QHostAddresst'
debug\myserver.o(.text+0x63c):E:/server/myserver.cpp:15: undefined reference to
`_imp___ZN12QHostAddressD1Ev'
debug\myserver.o(.text+0x677):E:/server/myserver.cpp:15: undefined reference to
`_imp___ZN12QHostAddressD1Ev'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\server.exe] Error 1
mingw32-make[1]: Leaving directory `E:/server'
mingw32-make: *** [debug] Error 2



是不是你没有在.pro文件中加上QT += network
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线gxichun

只看该作者 5楼 发表于: 2006-11-13
还真是这个问题,困扰了我许久,甚至我都想放弃Qt4了。非常感谢XChinux大哥,您太强了。
但是小弟不解:为什么利用qmake -project系统自动生成的工程文件中,不包含该语句呢,还要自己添加?是不是我少用了编译参数? 看来还是要学习makefile文件编写技巧啊
离线cavendish

只看该作者 6楼 发表于: 2006-11-14
手写.pro文件难道比手写makefile更难么?
离线XChinux

只看该作者 7楼 发表于: 2006-11-16
.pro文件比Makefile来说容易多了,看看qmake的文档,里面总共也没有多少选项。
因为qmake默认带了core和gui这两个模块,所以如果要新加模块或者要减掉gui模块的话,都需要生工修改.pro文件,比如
QT += network
QT -= gui
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线gxichun

只看该作者 8楼 发表于: 2006-11-18
两位兄台,关于手写工程文件,和make文件的问题,我还有一个小问题要请教二位,我编写了一个测试类,并把它生成了libtest1.so,然后又写一个主程序,在该主程序中,我使用了libtest1.so中所定义的类创建了一个对象然后调用该类的方法,用g++编译链接,能够成功生成可执行文件; 现在我想做一个测试,在QT中使用该类的方法,那么我该如何修改由qmake生成的Makefile文件,才能正常编译呢? 库的路径跟我前者使用相同;另外看了由qmake生成的makefile文件结构比较难懂,主要是用了好多缺省的替代规则,通过看坛子里高手们的帖子,似乎通过修改Qt的 *.pro文件然后执行qmake,也可以实现动态连接库的使用. 两种方法下,能否给出具体可行的示例步骤?不胜感谢!
离线cavendish

只看该作者 9楼 发表于: 2006-11-19
有关qmake,看qmake文档

如果打算用动态链接库里的类
我的个人建议使用插件机制
或者阅读一些有关这方面的文章
http://doc.trolltech.com/qq/qq17-libraries-and-plugins.html
快速回复
限100 字节
 
上一个 下一个