Requirements, Installation, and Deployment

Skip to end of metadata
Go to start of metadata

This section describes the installation and deployment requirements for the current release of Coherence for C++. It contains the following information:

After installing Coherence for C++ and setting up the environment, you can try running the sample applications.

Package Requirements

The following are required to use Coherence for C++ with the Data Client:

Coherence Standard, Enterprise or Data Grid Edition (3.4 or later)
C++ development environment

The following are required to use Coherence for C++ with the RealTime Client:

Coherence Data Grid Edition (3.4 or later)
C++ development environment

Supported Environments

The current release of Coherence for C++ is supported on the following platforms and operating systems: 

Operating System Compiler Architecture
Microsoft Windows 2000+1 MSVC 2005 SP1+3 x86
Microsoft Windows Server 2003+2 MSVC 2005 SP1+3 x64
Linux GCC 3.4+4 x86
Linux GCC 3.4+4 x64
Apple OS X 10.4+ GCC 3.4+4 x86

1 Including Windows 32b XP, Vista, 2000, 2003, and 2008.
2 Including Windows 64b XP, Vista, 2003, and 2008.
3 Specifically MSVC 2005 SP1 (14.00.50727.762+), as well as MSVC 2008 and express versions are supported.
4 Specifically GCC 3.4.6-4 and above, as well as GCC 4.x versions are supported.

When deploying on Microsoft Windows, just as with any MSVC based application the Visual Studio 2005 SP1 C++ redistributable runtime libraries are required.

Installing Coherence for C++

  1. Download the Coherence for C++ package for your target environment.
  2. Extract the archive
  3. Download the most recent patch for your target environment.
  4. Extract the patch archive, and copy contents over installation directory

Building Coherence based applications

Compiler Settings

When integrating Coherence for C++ into your application's build process, it is important that certain compiler and linker settings be enabled. Some settings are optional, but still highly recommended.

MSVC (Visual Studio)

Setting Build Type Required Explanation
/EHsc All Y Enables C++ exception support
/GR All Y Enables C++ RTTI
/O2 Release N Enables speed optimizations
/MD Release Y Link against multi-threaded DLLs
/MDd Debug Y Link against multi-threaded debug DLLs


Setting Build Type Required Explanation
-O3 Release N Enables speed optimizations

Coherence Header files

Coherence ships with a set of header files which your application will need in order to compile code which utilizes the Coherence API. The header files are available under the installation's include directory. This include directory must be part of your compilers include search path.


Coherence for C++ ships with both a debug and release version of the Coherence library. It is recommended that when compiling your application in debug mode that you also link against the Coherence debug library, by linking against coherence-debug rather then coherence. These libraries are located in the installation's lib directory. During linking this directory will need to be part of your linkers library path.

Library Names

Operating System Release Library Debug Library
Windows coherence.lib coherence-debug.lib
Apple OS X libcoherence.dylib libcoherence-debug.dylib

Runtime Library Search Path

During execution of a Coherence enabled application the Coherence for C++ shared library must be available from your application's library search path. This is achieved by adding the directory which contains the shared library to an operating system dependent environment variable. The installation includes libraries in its lib sub-directory.


Operating System Environment Variable
Windows PATH

For example, to set the PATH environment variable on Windows execute:

c:\coherence\coherence-cpp\examples> set PATH=%PATH%;c:\coherence\coherence-cpp\lib

proxy-service proxy-service Delete
environment-variables environment-variables Delete
cache-server cache-server Delete
platforms platforms Delete
requirements requirements Delete
deployment deployment Delete
installation installation Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.