Skip to main content
Version: 4.0.x

Pulsar C++ 客户端

你可以使用Pulsar C++客户端在C++中创建Pulsar 生产者消费者读取器。Pulsar C++客户端中的所有方法都是线程安全的。

开始使用

  1. 设置C++客户端库
  2. 初始化一个 C++ 客户端
  3. 使用C++客户端

接下来是什么?

参考文档

3.0.0及以后版本的变更

Pulsar C++ 客户端的新版本从 3.0.0 开始,自 2.10.x 以来不再与 Pulsar 保持一致。有关最新版本,请参阅 下载 页面。

3.0.0版本为例,有以下子目录:

  • apk-arm64: 适用于ARM64架构的Alpine Linux包
  • apk-x86_64: 适用于x64架构的Alpine Linux软件包
  • deb-arm64: 适用于ARM64架构的基于Debian的Linux软件包
  • deb-x86_64: 适用于x64架构的基于Debian的Linux软件包
  • rpm-arm64: 适用于ARM64架构的基于RedHat的Linux软件包
  • rpm-x86_64: 适用于x64架构的基于RedHat的Linux包

上述所有Linux软件包都包含安装在/usr/include下的C++头文件以及安装在/usr/lib下的以下库:

  • libpulsar.so: 静态链接第三方依赖项的共享库
  • libpulsar.a: 静态库
  • libpulsarwithdeps.a: 包含所有第三方依赖的完整静态库

以下是一个链接这些库的示例,用于名为main.cc的C++源文件:

# Link to libpulsar.so
g++ -std=c++11 main.cc -lpulsar
# Link to libpulsarwithdeps.a
g++ -std=c++11 main.cc /usr/lib/libpulsarwithdeps.a -lpthread -ldl
# Link to libpulsar.a
g++ -std=c++11 main.cc /usr/lib/libpulsar.a \
-lprotobuf -lcurl -lssl -lcrypto -lz -lzstd -lsnappy -lpthread -ldl
caution

对于初学者来说,链接到libpulsar.a可能会很困难,因为第三方依赖必须兼容。例如,对于Pulsar C++客户端3.0.0,protobuf版本必须为3.20.0或更高。最好改为链接到libpulsarwithdeps.a

danger

在3.0.0之前,有一个libpulsarnossl.so,现在已被移除。