{"id":27594468,"url":"https://github.com/apache/activemq-cpp","last_synced_at":"2026-03-12T17:40:21.069Z","repository":{"id":657025,"uuid":"299767","full_name":"apache/activemq-cpp","owner":"apache","description":"Apache ActiveMQ CPP","archived":false,"fork":false,"pushed_at":"2025-03-06T18:37:38.000Z","size":32308,"stargazers_count":106,"open_issues_count":9,"forks_count":66,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-10-29T00:49:49.719Z","etag":null,"topics":["activemq","c","cplusplus","csharp","java","network-client","network-server","perl","php","python","ruby"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2009-09-07T08:00:40.000Z","updated_at":"2025-09-24T12:16:39.000Z","dependencies_parsed_at":"2025-04-17T15:07:56.486Z","dependency_job_id":null,"html_url":"https://github.com/apache/activemq-cpp","commit_stats":null,"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"purl":"pkg:github/apache/activemq-cpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Factivemq-cpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Factivemq-cpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Factivemq-cpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Factivemq-cpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/activemq-cpp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Factivemq-cpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30435484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T14:34:45.044Z","status":"ssl_error","status_checked_at":"2026-03-12T14:09:33.793Z","response_time":114,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["activemq","c","cplusplus","csharp","java","network-client","network-server","perl","php","python","ruby"],"created_at":"2025-04-22T10:33:20.913Z","updated_at":"2026-03-12T17:40:21.044Z","avatar_url":"https://github.com/apache.png","language":"C++","readme":"--------------------------------------------------------------------------\nActiveMQ CPP Library\n--------------------------------------------------------------------------\n\nActiveMQ CPP is a messaging library that can use multiple protocols to\ntalk to a MOM (e.g. ActiveMQ).\n\n1 Dependencies\n--------------------------------------------------------------------------\n\nThere are several dependencies that need to be met in order to build and\ninstall ActiveMQ-CPP on a Unix type system, the short list is shown below,\nread the sections that follow for more detailed information.  On Windows\nyou will not need the Auto Tools since the library is built using Microsft's\nVisual Studio product.\n\nTool        Recommended Version\n-------------------------------\nautoconf    \u003e= 2.60\nautomake    \u003e= 1.10\nlibtool     \u003e= 1.5.24\nAPR         \u003e= 1.3*\nAPR-Util    \u003e= 1.3*\nCPPUnit     \u003e= 1.10.2*\nlibuuid     \u003e= ?*\nopenssl     \u003e= 1.0.2\n\n* Requires that the Development package also be installed.\n\n1.1 libuuid\n--------------------------------------------------------------------------\n\nThe build requires the *libuuid* library that is part of the e2fsprogs\npackage and is available from http://e2fsprogs.sourceforge.net/ which is\nnot always installed by default.\n\nOn Fedora, type the following:\n\n  sudo yum install e2fsprogs-devel\n\nOn Debian/Ubuntu, type the following:\n\n  sudo apt-get install uuid-dev\n\n1.2 CppUnit\n--------------------------------------------------------------------------\n\nThe package contains a complete set of CppUnit tests.  In order for you to\nbuild an run the tests, you will need to download and install the CppUnit\nsuite.  See http://cppunit.sourceforge.net/cppunit-wiki\n\nOn Fedora, type the following:\n\n  sudo yum install cppunit cppunit-devel\n\nOn Debian/Ubuntu, type the following:\n\n  sudo apt-get install libcppunit-dev\n\nMake sure that the paths to the installed CppUnit library and includes are\nvisible in your current shell before you try building the tests.\n\nWindows users will need to build the CppUnit library using the CPPUnit\nMSVC project files. A discussion of the build process can be found\non the CPPUnit wiki under:\n\nhttp://cppunit.sourceforge.net/cppunit-wiki/BuildingCppUnit1\n\nThis covers both MSVC along with many other platforms and tool suites.\nThe included Visual Studio projects are configured with the assumption\nthat you will configure Visual Studio with the locations of the Platform\nSDK and the CPPUnit and APR libraries and headers.\n\n1.3 APR and APR Util\n-------------------------------------------------------------------------\n\nThe build requires the APR library and the APR-Util.  These libraries can\nbe obtained from the APR site at: http://apr.apache.org/  See the\ndocumentation there on how to build these libraries for your platform.  On\nmany Unix system the libraries can be installed using the systems package\ninstaller.\n\nThe Library has been tested using version v1.3 and higher of the APR libs,\nthe older 0.9 version will definitely not work with this library.\n\nMany of the Unix type OS'es currently shipping include APR 1.2.x and\nAPR-Util 1.2.x, this implies that you will need to build and install APR from\nthe source download at Apache.\n\n1.4 GNU Build System (for building on Unix/Linux/OS X)\n--------------------------------------------------------------------------\n\nTo Generate the ./configure script use to create the Makefiles, you need\nthe following software installed:\n\nTool        Recommended Version\n-------------------------------\nautoconf    \u003e= 2.60\nautomake    \u003e= 1.10\nlibtool     \u003e= 1.5.24\n\nOn Debian/Ubuntu, multiple versions of autoconf and automake are available\nin separate packages. If you have multiple versions of autoconf or automake\ninstalled on your system, you may have to configure the versions to use\nusing /usr/sbin/update-alternatives.\n\n2 Building on Unix/Linux/OS X\n--------------------------------------------------------------------------\n\nThis assumes you have all of the project dependencies installed.  We're\nnow ready to create the configure script.  To do this, run:\n\n  ./autogen.sh\n\nThis should be run the first time and any time you change configure.ac or\nany of the Makefile.am files.\n\n    -----------------------------------------------------------------------\n    |MacOS X Note:                                                        |\n    | Make sure to set the LIBTOOLIZE environment variable to point to    |\n    | /usr/bin/glibtoolize for the build to complete successfully. Below  |\n    | is an example:                                                      |\n    |                                                                     |\n    | $ export LIBTOOLIZE=/usr/bin/glibtoolize                            |\n    |                                                                     |\n    | If you do not use this environment variable you will encounter an   |\n    | error stating:                                                      |\n    |                                                                     |\n    | Can't exec \"libtoolize\": No such file or directory at               |\n    | /opt/local/share/autoconf/Autom4te/FileUtils.pm line 290...         |\n    -----------------------------------------------------------------------\n\n    -----------------------------------------------------------------------\n    |Solaris 10 Note:  CppUnit might not build until you correct the file |\n    |  libstdc++.la to contain the correct data, see this discussion:     |\n    |  http://forum.sun.com/jive/thread.jspa?threadID=73150               |\n    |  Also you must pass --enable-shared=no for Solaris GCC builds       |\n    |  For Solaris builds using the Sun Compiler you must set the env     |\n    |  values CC and CXX to point to the cc and CC commands respectively. |\n    -----------------------------------------------------------------------\n\nThe configure script will customize the way the software is built and\ninstalled into your system along with detecting the available libraries\nthat have been installed.  To use the default configuration just run:\n\n  ./configure\n\nFor more help on how to customize the build configuration, run:\n\n  ./configure --help\n\nOnce the configure script has run successfully, you are ready to build.\nRun:\n\n  make\n\nThis will build all of the core ActiveMQ CPP source code.  To build and\ninstall the code into the system directories, run:\n\n  make install\n\nYou will have to become the superuser in order to be able to install the\nfiles.\n\n3 Doxygen\n--------------------------------------------------------------------------\n\nTo generate the Doxygen documentation for the project, just run:\n\n  make doxygen-run\n\n4 Running Tests\n--------------------------------------------------------------------------\n\n4.1 Unit Tests\n--------------------------------------------------------------------------\nIn order to build and run the suite of unit tests, run:\n\n  make check\n\nThis will verify that the library is functioning correctly on the target\nplatform. In addition, it will generate the integration tests binary.\n\n4.2 Integration Tests\n--------------------------------------------------------------------------\nThe library also contains a set of tests that are run against a real AMQ\nbroker.  These allow you to validate this distribution of ActiveMQ CPP\nagainst your broker.  Running these without a broker will result in failed\ntests.  The tests currently hard-code the broker url to be\ntcp://localhost:61613 for Stomp and tcp://localhost:61616 for Openwire.\n\nThe integration tests are built via \"make check\".  To run them, first\nstart a broker and then\n\n  cd src/test-integration\n  ./activemq-test-integration\n\nThis will take quite some time to complete, so be patient.  It is recommended\nthat you restart the broker between successive runs of the integration tests.\n\n5 Example\n--------------------------------------------------------------------------\nThere are example applications that ship with the distribution in\nsrc/examples.   The examples are compiled by default with the \"make\"\ncommand on Unix systems.  Only one sample is included in the Visual Studio\nprojects supplied, the others can be easily added by examining the settings\nof the one supplied.\n\n6 Notes for Windows users\n--------------------------------------------------------------------------\nWe do not support using the GNU compiler on Windows, using the Cygwin package\nor the MinGW platform, several issues with sockets and threading were found to\nexist when trying to use these solutions.\n\nHowever we do support using the MSVC compiler on Windows.\n\nThere are a couple or things that you will need to setup to ensure that\nthe MSVC compile succeeds.\n\n* When linking your application to the DLL version of the ActiveMQ-CPP library\n  you must link your app the the same runtime version that the DLL is linked to,\n  otherwise your application will cause heap corruption when you delete objects\n  that are created in the ActiveMQ-CPP DLL's heap.\n\n* You need to download and install the Platform SDK if you don't have it\n  installed already.  On machines where you intend to use the built libraries\n  and executable you will also need to install the MS Redistributable for the\n  version of Visual Studio which you used to build the library.\n\n* Ensure that the path to you MSVC install is set in the PATH env variable.\n  You can test this by typing cl.exe at the command line, if you get an\n  error complaining that its not found, then you'll need to fix your PATH.\n\n* The Project files reference the CPPUnit libraries for the Integration and\n  Unit tests builds. In order for these to build correctly you must\n  either configure the global settings in Visual Studio for include and library\n  folders or add new settings to each of the projects in the solution to point\n  to these locations.\n\n* The Project files reference the APR libraries for the Integration and\n  Unit tests builds. In order for these to build correctly you must\n  either configure the global settings in Visual Studio for include and library\n  folders or add new settings to each of the projects in the solution to point\n  to these locations.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Factivemq-cpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Factivemq-cpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Factivemq-cpp/lists"}