tree: d2117a77a90d30536fc9f0faaf40045b57cfa251 [path history] [tgz]
  1. examples/
  2. include/
  3. lib/
  4. perf/
  5. python/
  6. tests/
  7. wireshark/
  8. .gitignore
  9. CMakeLists.txt
  10. eclipse-formatter.xml
  11. generate_protobuf.sh
  12. log4cxx.conf
  13. NOTICE
  14. README.md
  15. travis-build.sh
pulsar-client-cpp/README.md

Pulsar C++ client library

Examples for using the API to publish and consume messages can be found on https://github.com/yahoo/pulsar/tree/master/pulsar-client-cpp/examples

Requirements

Platforms

Pulsar C++ Client Library has been tested on:

  • Linux
  • Mac OS X

Compilation

Compile on Ubuntu Server 16.04

Install all dependencies:

apt-get install cmake libssl-dev libcurl4-openssl-dev liblog4cxx-dev \
                libprotobuf-dev libboost-all-dev  libgtest-dev libjsoncpp-dev

Compile and install Google Test:

cd /usr/src/gtest
sudo cmake .
sudo make
sudo cp *.a /usr/lib

Compile Pulsar client library:

cd pulsar/pulsar-client-cpp
cmake .
make

Checks

Client library will be placed in
lib/libpulsar.so
lib/libpulsar.a
Tools will be placed in
perf/perfProducer
perf/perfConsumer

Compile on Mac OS X

Install all dependencies:

# For openSSL
brew install openssl
export OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include/
export OPENSSL_ROOT_DIR=/usr/local/opt/openssl/

# For Protobuf
brew tap homebrew/versions
brew install protobuf260 boost boost-python log4cxx jsoncpp

# For gtest
cd $HOME
git clone https://github.com/google/googletest.git
cd googletest
cmake .
make install
# Refer gtest documentation in case you get stuck somewhere

Compile Pulsar client library:

export $PULSAR_PATH=<Path where you cloned pulsar repo>
cd ${PULSAR_PATH}/pulsar-client-cpp/
cmake .
make

Checks

Client library will be placed in
${PULSAR_PATH}/pulsar-client-cpp/lib/libpulsar.dylib
${PULSAR_PATH}/pulsar-client-cpp/lib/libpulsar.a
Tools will be placed in:
${PULSAR_PATH}/pulsar-client-cpp/perf/perfProducer
${PULSAR_PATH}/pulsar-client-cpp/perf/perfConsumer

Tests

# Source code
${PULSAR_PATH}/pulsar-client-cpp/tests/

# Execution
# Start standalone broker
export PULSAR_STANDALONE_CONF=${PULSAR_PATH}/pulsar-client-cpp/tests/standalone.conf
${PULSAR_PATH}/bin/pulsar standalone

# Run the tests
${PULSAR_PATH}/pulsar-client-cpp/tests/main

Requirements for Contributors

We welcome contributions from the open source community, kindly make sure your changes are backward compatible with gcc-4.4.7 and Boost 1.41.