| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 906 人关注过本帖
标题:Qt 使用udp进行socket编程的问题!!!
只看楼主 加入收藏
bulubulukaka
Rank: 2
等 级:论坛游民
帖 子:19
专家分:40
注 册:2012-12-5
收藏
 问题点数:0 回复次数:2 
Qt 使用udp进行socket编程的问题!!!
本人刚刚开始学习Qt,想自己实现个基于UDP的聊天程序,但有个低级问题一直不能解决,请高手指点下。
问题描述:
无法初始化udpsocket。错误提示:
collect2: ld returned 1 exit status
未找到文件

我在网上搜了下,目前有两种说法:
一是之前运行了Qt的程序没有正常关闭,再运行就会提示这个错误——这个已经排除,我重启Qt ctreator后依然会报这个错误。
二是说我有头文件没有添加。

我include的头文件如下:
chat.cpp中:
#include "chat.h"

chat.h中:
程序代码:
#include "main.h"
#include <QGridLayout>
#include <QtNetwork/QUdpSocket>
#include <QtNetwork/QHostAddress>

main.h中:
程序代码:
#include <QWidget>
#include <QLineEdit>
#include <QTextEdit>
#include <QLabel>
#include <QPushButton>
#include <QTextCodec>
#include <QString>
#include <QMessageBox>
#include <QCloseEvent>
#include <QDebug>
#include <QTime>


顺便求教我在构造函数中调用成员方法来初始化socket这样好吗?
程序代码:

//Chat类的构造函数
Chat::Chat(QWidget *parent)
    : QWidget(parent)
{
    qDebug() << "enter Chat constructor!";

    chatLayout = new QGridLayout;

    strMsg = codec->toUnicode("对方");
    QLabel *clientID = new QLabel(strMsg);
    strMsg = codec->toUnicode("我");
    QLabel *myID = new QLabel(strMsg);

    remoteMsg = new QTextEdit;
    localMsg = new QTextEdit;

    strBtn = codec->toUnicode("发送");
    sendBtn = new QPushButton(strBtn);



    //关联按钮、信号和槽;
    connect(sendBtn, SIGNAL(clicked()), this, SLOT(on_sendMsg()));

    //设置布局
    chatLayout->addWidget(clientID,0,0);
    chatLayout->addWidget(remoteMsg,1,0);
    chatLayout->addWidget(myID,2,0);
    chatLayout->addWidget(localMsg,3,0);
    chatLayout->addWidget(sendBtn,3,1);

    strTitle = codec->toUnicode("聊天中");
    setWindowTitle(strTitle);
    setLayout(chatLayout);

    initSocket();
}


void Chat::initSocket()
{
    //设置网络连接
    udpSocket1 = new QUdpSocket(this);
    ip1 = new QHostAddress(strIP1);
    connect(udpSocket1, SIGNAL(readyRead()), this, SLOT(on_receiveMsg()));
}
搜索更多相关主题的帖子: include status 
2013-01-21 09:26
bulubulukaka
Rank: 2
等 级:论坛游民
帖 子:19
专家分:40
注 册:2012-12-5
收藏
得分:0 
额,居然没得人回复——是不是由于下午5点才通过审核的原因?
那我自己把这个问题的解决办法写出来吧:
原因:
pro文件中,原来是:
QT       += core gui


改为
QT       += core gui\
        network

我果然犯了一个低级错误……
2013-01-21 17:34
can3981132
Rank: 2
等 级:论坛游民
帖 子:17
专家分:62
注 册:2010-3-31
收藏
得分:0 
低级错误

一条道路走到黑
2013-09-09 09:40
快速回复:Qt 使用udp进行socket编程的问题!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029744 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved