QT使用qxmpp(vs2019)
2020-02-25QT攻城狮3848°c
A+ A-本地环境和qxmpp编译过程我这里不在赘述,可以参考另一篇文章QT使用qxmpp(qt creator)中前半部分,里面详细描述了我的本机环境以及编译安装qxmpp库的过程,我这里只记录在vs中创建的qt项目如何使用编译好的qmxpp库并成功连接至openfire。
在vs中创建qt项目跟着向导走就可以了,需要注意的是选择qt模块的时候勾上Network模块,因为是网络应用,所以这个模块得有:
其他的我都是默认走的,创建好项目后,把编译安装好的qxmpp的lib和include文件夹(我的是在C:\Program Files (x86)\qxmpp目录下)拷贝到刚刚新建的项目根目录,
然后再项目上右键--属性
添加附加包含目录,就是刚刚拷贝到项目跟路径下的include文件夹
然后继续配置连接器
添加附加依赖项qxmpp.lib
然后添加附加库目录
这里选择一开始复制到项目根目录的lib文件夹
到此,库文件添加完毕,直接在代码中Include就可以,如果没有自动提示qxmpp的库,项目上面,右键--重新扫描解决方案即可
#include "QtGuiApplication3.h" #include "qxmpp/QXmppClient.h" #include "qxmpp/QXmppLogger.h" QtGuiApplication3::QtGuiApplication3(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); QXmppClient* xmppClient = new QXmppClient(this); xmppClient->logger()->setLoggingType(QXmppLogger::StdoutLogging); connect(xmppClient, &QXmppClient::connected, [=]() { qDebug() << "服务器连接成功!"; }); QXmppConfiguration config; config.setDomain("127.0.0.1"); config.setJid("[email protected]/qt"); config.setHost("127.0.0.1"); config.setPort(5222); config.setPassword("abc123"); xmppClient->connectToServer(config); }
运行项目,如果提示缺失qxmpp.dll文件,那么直接把lib中的qxmpp.dll文件拷贝到debug目录再运行即可。
项目跑起来后同样可以在openfire控制台看到test1用户已上线。
未定义标签