Troubleshooting Notes, C++ for Garmin G5 Emulator

ProblemWhile building the DLL version, got this error: warning C4273: 'XPluginStart': inconsistent dll linkage
SolutionUnder Property Pages → Configuration Properties → C/C++ → Preprocessor Definitions, added “XPLANEGARMING5_EXPORTS to the list of Preprocessor Definitions. This causes the right MACRO to be called, in the main XplaneGarminG5.h file.

On the .h file, we need the dllexport to be defined.

#ifdef XPLANEGARMING5_EXPORTS
#define GARMIN5DLL_API __declspec(dllexport)
#else
#define GARMIN5DLL_API __declspec(dllimport)
#endif
ProblemAlthough works fine in X-Plane model, when going back to using the Dev standalone version, Lettering was solid white, Horizon was not completely painted
SolutionI had coded the init() functions for GarminG5, BitmapFontContainer and IconContainer to run automatically within the constructor. Unfortunately, the GL environment was not set up yet at that point, giving a 1282 error. Solution was to manually call the GarminG5 class init() manually when ready in the main.cpp main method, and changing the calls to the BitmapFontContainer and IconContainer init() from within the end of the GarminG5 init() function.

3/8/2019 10:36 p.m.

ProblemTrying to run he Garmin exe on another computer. Kept getting an error.
SolutionHad to download the C++ Redistribution package and install it on that computer.

3/24/2019

ProblemGetting 1114 (DLL) initialization routine failed error
SolutionCreated a /temp directory. After moving things to D: drive, didn't create this directory, which is written to by the DLL log files

9/16/2019