Examples for using the API to publish and consume messages can be found on https://github.com/apache/pulsar/tree/master/pulsar-client-cpp/examples
Pulsar C++ Client Library has been tested on:
You can compile the C++ client library within a Docker container that already contains all the required dependencies.
./docker-build.sh
Run unit tests:
./docker-tests.sh
apt-get install -y g++ cmake libssl-dev libcurl4-openssl-dev liblog4cxx-dev \ libprotobuf-dev libboost-all-dev libgtest-dev google-mock \ libjsoncpp-dev libxml2-utils protobuf-compiler python-setuptools
cd /usr/src/gtest sudo cmake . sudo make sudo cp *.a /usr/lib
cd /usr/src/gmock sudo cmake . sudo make sudo cp *.a /usr/lib
cd pulsar/pulsar-client-cpp cmake . make
lib/libpulsar.so lib/libpulsar.a
perf/perfProducer perf/perfConsumer
# 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 install protobuf boost boost-python log4cxx jsoncpp // If you are using python3, you need to install boost-python3 # 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
export PULSAR_PATH=<Path where you cloned pulsar repo> cd ${PULSAR_PATH}/pulsar-client-cpp/ cmake . make
${PULSAR_PATH}/pulsar-client-cpp/lib/libpulsar.dylib ${PULSAR_PATH}/pulsar-client-cpp/lib/libpulsar.a
${PULSAR_PATH}/pulsar-client-cpp/perf/perfProducer ${PULSAR_PATH}/pulsar-client-cpp/perf/perfConsumer
Clone and build all dependencies from source if a binary distro can't be found.
If you want to build and run the tests, then also install
#If all dependencies are in your path, all that is necessary is ${PULSAR_PATH}/pulsar-client-cpp/cmake . #if all dependencies are not in your path, then passing in a PROTOC_PATH and CMAKE_PREFIX_PATH is necessary ${PULSAR_PATH}/pulsar-client-cpp/cmake -DPROTOC_PATH=C:/protobuf/bin/protoc -DCMAKE_PREFIX_PATH="C:/boost;C:/openssl;C:/zlib;C:/curl;C:/protobuf;C:/googletest;C:/dlfcn-win32" . #This will generate pulsar-cpp.sln. Open this in Visual Studio and build the desired configurations.
# Source code ${PULSAR_PATH}/pulsar-client-cpp/tests/ # Execution # Start standalone broker ${PULSAR_PATH}/pulsar-test-service-start.sh # Run the tests ${PULSAR_PATH}/pulsar-client-cpp/tests/main # When no longer needed, stop standalone broker ${PULSAR_PATH}/pulsar-test-service-stop.sh
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.