![]() |
VR-Forces Developer's Guide
|
The examples are pre-compiled and installed by the SDK installer so it is not necessary to build them in order to try them out. To activate the pre-built plug-ins, please see section "4.8.1. Loading Plug-ins", in VR-Forces Users Guide.
Before you can build an example or a custom application, you must install the supporting software that your installation depends on and you must configure environment variables, so that the example project files can find these prerequisites.
You must do the following:
If you are building for HLA, install a supported RTI. We recommend using the MAK High Performance RTI, but RTIs from other vendors are supported as well, as long as they comply with the appropriate versions of the HLA Standards. A developer's license does not include a license for the MAK RTI. However, the MAK RTI allows you to run federations of up to two federates without requiring a license. You can download the MAK RTI at: https://www.mak.com/support/bonus-material.
If you install an RTI, set the environment variable MAK_RTIDIR to the full path to the RTI installation (for example, C:\MAK\makRti4.6).
Note: The example project files look for RTI header files in a directory called "include" directly under $(MAK_RTIDIR), and look for RTI link libraries in a directory called "lib" directly under $(MAK_RTIDIR). If you are using an RTI that does not follow that directory-naming convention, you may need to change the project settings in order for the build system to find your RTI headers and libraries.
If you want to build the GUI examples, you must install Qt, the cross-platform GUI development kit upon which the GUI is built. Qt is available at qt.digia.com and pre-built versions are available from MAK at https://www.mak.com/support/bonus-material. It is freely licensed under the LGPL version 2.1.
If you install Qt, set the following environment variable for QT:
See VR-Forces Release Notes for the version of Qt used by your release of VR-Forces.
To build VR-Forces examples, simply open the project file of the example you wish to use and build it. The newly built DLL or shared object will automatically be copied to the "build" directory where it can be loaded via the Plug-in management interface documented in Managing Plug-ins in VR-Forces Users Guide. Stand-alone executables will automatically be copied into the "bin" directory.
VR-Forces does not include debug DLLs on Windows systems. This is done because the debug versions of the VRF DLLs run so slowly that it is not practical to run the debug version of the application, and it is possible to effectively debug applications using release mode DLLs if built correctly.
On Windows, it is required to link debug DLLs with other debug DLLs, which means that it is not possible to create a VRF plugin built in debug mode.
The best way to debug plugins for VR-Forces is to build in the “RelWithDebInfo” configuration and to turn off optimizations for the plugin modules being debugged. This allows the Visual Studio environment to break on specific lines, step through code, and show variable values, all while using a release build of the plugin, and linking against the release version DLLs of VR-Forces.
You can use the CMAKE program (found at cmake.org) to regenerate distributed project examples or to generate your own project from a CMakeLists.txt file.
In order to generate project files using cmake you will need to have at least version 3.9 of cmake installed on your system. You will then need to open a shell window and change your directory to your VR-Forces install's main directory directory. You can use cmake –help to see what compilers are available. You can then choose your compiler to build your project files. For example, if you wish to generate a VC12 2013 set of project files you would execute the following command:
cmake -G "Visual Studio 15 2017 Win64"
This will regenerate all project files and incorporate any changes you may have made and create a vrforcesExamples_64.sln solution.
It will also automatically generate the necessary moc or uic statements for additional Qt sources.
You may create your own example project by copying one of the existing projects and modifying the CMakeLists.txt file to subsitute in your project name. Once created you will need to add your example to the CMakeLists.txt file in the examples directory in the appropriate protocol or non-protocol section.