2. Windows installation from binaries¶
The instructions for installing eProsima Fast DDS in a Windows environment from binaries are provided in this page. It is organized as follows:
First of all, the Requirements detailed below need to be met.
The installation of eProsima Fast DDS in a Windows environment from binaries requires the following tools to be installed in the system:
2.1.1. Visual Studio¶
Visual Studio is required to
have a C++ compiler in the system. For this purpose, make sure to check the
Desktop development with C++ option during the Visual Studio installation process.
If Visual Studio is already installed but the Visual C++ Redistributable packages are not,
open Visual Studio and go to
Get Tools and Features and in the
Workloads tab enable
Desktop development with C++. Finally, click
Modify at the bottom right.
The latest release of eProsima Fast DDS for Windows is available at the company website downloads page. Once downloaded, execute the installer and follow the instructions, choosing the preferred Visual Studio version and architecture when prompted.
By default, eProsima Fast DDS does not compile tests. To activate them, please refer to the Windows installation from sources page.
By default, the installation will download all the available packages, namely:
foonathan_memory_vendor, an STL compatible C++ memory allocator library.
fastcdr, a C++ library that serializes according to the standard CDR serialization mechanism.
fastrtps, the core library of eProsima Fast DDS library.
fastddsgen, a Java application that generates source code using the data types defined in an IDL file.
2.2.2. Environment variables¶
eProsima Fast DDS requires the following environment variable setup in order to function properly:
FASTRTPSHOME: Root folder where eProsima Fast DDS is installed.
Additions to the
PATH: The location of eProsima Fast DDS scripts and libraries should be appended to the
These variables are set automatically by checking the corresponding box during the installation process.
2.2.3. Including Fast-DDS in a CMake project¶
The installer deploys CMake config files that simplify to incorporate Fast-DDS to any CMake project via the find_package CMake API.
Shared and static libraries are provided by the installer. The user can select which one will be used in the CMake project using next mechanisms.
Through CMake package components when calling find_package().
find_package(fastrtps shared) # Load shared library target find_package(fastrtps static) # Load static library target
Through the custom CMake variable fastrtps_SHARED_LIBS.
cmake -Dfastrtps_SHARED_LIBS=ON .. # Load shared library target cmake -Dfastrtps_SHARED_LIBS=OFF .. # Load static library target
Through the built-in CMake variable BUILD_SHARED_LIBS.
cmake -DBUILD_SHARED_LIBS=ON .. # Load shared library target cmake -DBUILD_SHARED_LIBS=OFF .. # Load static library target
In case no previous mechanism is used, CMake will try to load static library target. If it fails then CMake will try to load shared library target.
For example in order to build the examples dynamically linked to Fast-DDS do:
> cmake -Bbuildexample -DBUILD_SHARED_LIBS=ON . > cmake --build buildexample --target install