Declare DllMain as extern "C".

Fixes #550.

PiperOrigin-RevId: 484540205
Change-Id: I3915f65f1ae6ab3a93118b9d747b5c09d9abe872
This commit is contained in:
Saran Tunyasuvunakool
2022-10-28 08:41:05 -07:00
committed by Copybara-Service
parent 8db949ac19
commit c7960385be
2 changed files with 17 additions and 8 deletions
+16 -8
View File
@@ -72,15 +72,23 @@ typedef struct mjpPlugin_ mjpPlugin;
#define mjDLLMAIN DllMain
#endif
#if !defined(mjEXTERNC)
#if defined(__cplusplus)
#define mjEXTERNC extern "C"
#else
#define mjEXTERNC
#endif // defined(__cplusplus)
#endif // !defined(mjEXTERNC)
// NOLINTBEGIN(runtime/int)
#define mjPLUGIN_DYNAMIC_LIBRARY_INIT \
static void _mjplugin_dllmain(void); \
static int __stdcall mjDLLMAIN(void* hinst, unsigned long reason, void* reserved) { \
if (reason == 1) { \
_mjplugin_dllmain(); \
} \
return 1; \
} \
#define mjPLUGIN_DYNAMIC_LIBRARY_INIT \
static void _mjplugin_dllmain(void); \
mjEXTERNC int __stdcall mjDLLMAIN(void* hinst, unsigned long reason, void* reserved) { \
if (reason == 1) { \
_mjplugin_dllmain(); \
} \
return 1; \
} \
static void _mjplugin_dllmain(void)
// NOLINTEND(runtime/int)