Kaim::CheckHeaderLibDesync Class Reference
#include <checkheaderlibdesync.h>
This class helps to finding errors in the use of header files and libraries.
static void Kaim::CheckHeaderLibDesync::Check |
( |
| ) |
|
|
inlinestatic |
This is called in user code thanks to BaseSystem::Init.
Thus, macros processed here have the values of the user project, and they'll be checked against the ones used when the libraries were built. Note that only the library/executable making the call to BaseSystem::Init will be checked automatically. Explicit calls to CheckHeaderLibDesync::Check() can be added into .cpp files of libraries not calling BaseSystem::Init but that are dependent upon gwnavruntime header files, so such libraries will be checked as well.
So, this function helps to prevent the user project is wrongly setup, for instance, if debug libraries are used with no debug preprocessor symbol defined, an 'unresolved external symbol' link error will be raised since Check_DEV or Check_RELEASE will be called but only Check_DEBUG will be in the used library. To solve this error, please add to the preprocessor definitions of your project, either KY_CONFIG_DEBUG, KY_CONFIG_DEV or KY_CONFIG_RELEASE, accordingly to Navigation libraries you are linking against (debug, dev or release respectively)
This function also ensures there's no mismatch between header files and libraries, e.g. different versions were mixed up when installing the SDK an 'unresolved external symbol' link error will be raised regarding a function named CheckVersion_major_minor_patch where major, minor and patch are the version numbers
static void Kaim::CheckHeaderLibDesync::Check_DEBUG |
( |
| ) |
|
|
staticprivate |
static void Kaim::CheckHeaderLibDesync::Check_DEV |
( |
| ) |
|
|
staticprivate |
void Kaim::CheckHeaderLibDesync::Check_RELEASE |
( |
| ) |
|
|
staticprivate |
The documentation for this class was generated from the following files: