qxmpp

Cross-platform C++ XMPP client and server library

Github星跟蹤圖

Build Status
Code Coverage

About QXmpp

QXmpp is a cross-platform C++ XMPP client and server library. It is written
in C++ and uses Qt framework.

QXmpp strives to be as easy to use as possible, the underlying TCP socket,
the core XMPP RFCs (RFC3920 and RFC3921) and XMPP extensions have been
nicely encapsulated into classes. QXmpp comes with full API
documentation, automatic tests and many examples.

QXmpp uses Qt extensively, and as such users need to a have working knowledge
of C++ and Qt basics (Signals and Slots and Qt data types).

Qt is the only third party library which is required to build QXmpp, but
libraries such as speex and theora enable additional features.

QXmpp is released under the terms of the GNU Lesser General Public License,
version 2.1 or later.

Building QXmpp

QXmpp requires Qt 5.7 or higher with SSL enabled.
It uses CMake as build system.

Build from command line:

mkdir build
cd build
cmake ..
cmake --build .

You can pass the following arguments to CMake:

BUILD_SHARED                  to build with shared type library, otherwise static (default: true)
BUILD_DOCUMENTATION           to build the documentation (default: false)
BUILD_EXAMPLES                to build the examples (default: true)
BUILD_TESTS                   to build the unit tests (default: true)
WITH_OPUS                     to enable opus audio codec (default: false)
WITH_SPEEX                    to enable speex audio codec (default: false)
WITH_THEORA                   to enable theora video codec (default: false)
WITH_VPX                      to enable vpx video codec (default: false)

Installing QXmpp

After building QXmpp, you can install the Headers, Libraries
and Documentation using the following command:

Install from command line:

cmake --build . --target install

Examples

Look at the example directory for various examples. Here is a description of
a few.

  • example_0_connected
    This example just connects to the xmpp server and start receiving presences
    (updates) from the server. After running this example, you can see this user
    online, if it's added in your roster (friends list).

  • example_1_echoClient
    This is a very simple bot which echoes the message sent to it. Run this
    example, send it a message from a friend of this bot and you will
    receive the message back. This example shows how to receive and send messages.

Documentation

You can find the API documentation for the latest QXmpp version here:

http://doc.qxmpp.org/

Supported Platforms

It should work on all the platforms supported by Qt. For a complete list of
platforms support by Qt, see:

https://doc.qt.io/qt-5/supported-platforms.html

How to report a bug

If you think you have found a bug in QXmpp, we would like to hear about
it so that we can fix it. Before reporting a bug, please check if the issue
is already know at:

https://github.com/qxmpp-project/qxmpp/issues

Discussion Group

Join QXmpp Discussion Group for queries, discussions and updates.

https://groups.google.com/forum/#!forum/qxmpp

主要指標

概覽
名稱與所有者qxmpp-project/qxmpp
主編程語言C++
編程語言C++ (語言數: 4)
平台
許可證
所有者活动
創建於2014-03-27 14:46:37
推送於2025-03-20 21:41:54
最后一次提交2025-03-20 22:41:53
發布數55
最新版本名稱v1.10.2 (發布於 2025-03-19 19:07:06)
第一版名稱v0.2.0 (發布於 2012-04-24 09:12:45)
用户参与
星數420
關注者數35
派生數196
提交數3.8k
已啟用問題?
問題數230
打開的問題數33
拉請求數387
打開的拉請求數8
關閉的拉請求數66
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?