4.1. Prepare Your Development Environment¶
This section describes how to set up your development environment for Connext Micro applications, such as the required environment variables, compilers, compiler definitions, and libraries.
4.1.1. Set environment variables¶
The RTIMEHOME
environment variable must be set to the installation directory path
for RTI Connext Micro. If you installed RTI Connext with default settings, RTI Connext Micro will be here:
<path_to_connext_dds_installation>/rti_connext_dds-<version>/rti_connext_micro-<version>
.
If you copied RTI Connext Micro to another place, set RTIMEHOME
to point to that location.
4.1.2. Add required preprocessor flags¶
All Connext Micro applications require the following preprocessor defines:
-IRTIMEHOME/include
-IRTIMEHOME/include/rti_me
Add the following preprocessor defines, according to your platform and compiler:
Using MSVSCC:
-DOSAPI_CC_DEF_H=osapi/osapi_cc_msvsc.h
-DRTI_WIN32
Using clang:
-DOSAPI_CC_DEF_H=osapi/osapi_cc_clang.h
-DRTI_DARWIN
Using GCC:
-DOSAPI_CC_DEF_H=osapi/osapi_cc_gcc.h
-DRTI_LINUX
Using QCC:
-DOSAPI_CC_DEF_H=osapi/osapi_cc_qcc.h
-DRTI_QNX
4.1.3. Link applications and libraries¶
Add the library path for both the PIL and PSL to the linker’s search path:
RTIMEHOME/lib/<arch>/
(PIL)RTIMEHOME/lib/<arch>-<PSL>/
(PSL)
Note
When executing executables that are linked with the Connext Micro shared libraries, you must add the path to the PIL architecture directory to the runtime linker’s search path.
To link a C application, the libraries are required in the following order:
RTIMEHOME/lib/<arch>/
rti_me_appgen
(if using the Application Generation Using XML plugin)rti_me_netiosdm
(if using Zero Copy Transfer with the Shared Memory Transport (SHMEM))rti_me_netiozcopy
(if using the Zero Copy v2 Transport)rti_me_netioshmem
(if using the Shared Memory Transport (SHMEM))rti_me_discdpde
(if using DPDE)rti_me_discdpse
(if using DPSE)rti_me_rhsm
,rti_me_whsm
, andrti_me
(always required)
RTIMEHOME/lib/<arch>-<PSL>/
rti_me_netiopsl
(when building with a Platform Independent Library)rti_me_ospsl
(when building with a Platform Independent Library)
To link a C++ application, the libraries are required in the following order:
RTIMEHOME/lib/<arch>/
rti_me_appgen
(if using the Application Generation Using XML plugin)rti_me_cpp
,rti_me_netiosdm
,rti_me_netiozcopy
,rti_me_netioshmem
,rti_me_discdpde
,rti_me_discdpse
,rti_me_rhsm
,rti_me_whsm
, andrti_me
(always required)
RTIMEHOME/lib/<arch>-<PSL>/
rti_me_netiopsl_cpp
(when building with a Platform Independent Library)rti_me_netiopsl
(when building with a Platform Independent Library)rti_me_ospsl
(when building with a Platform Independent Library)