42#if defined _WIN32 || defined _WIN64
45# ifndef WIN32_LEAN_AND_MEAN
46# define WIN32_LEAN_AND_MEAN
48# include <sdkddkver.h>
50# if defined(WINAPI_FAMILY)
51# if (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
52# if (_WIN32_WINNT >= 0x0603)
53# define ARX_TARGET_PLATFORM_WINRT 1
55# error artoolkitX for Windows Phone requires Windows Phone 8.1 or later. Please compile with Visual Studio 2013 or later with Windows Phone 8.1 SDK installed and with _WIN32_WINNT=0x0603 in your project compiler settings (setting /D_WIN32_WINNT=0x0603).
57# elif (WINAPI_FAMILY == WINAPI_FAMILY_PC_APP)
58# if (_WIN32_WINNT >= 0x0603)
59# define ARX_TARGET_PLATFORM_WINRT 1
61# error artoolkitX for Windows Store requires Windows 8.1 or later. Please compile with Visual Studio 2013 or later with Windows 8.1 SDK installed and with _WIN32_WINNT=0x0603 in your project compiler settings (setting /D_WIN32_WINNT=0x0603).
64# define ARX_TARGET_PLATFORM_WINDOWS 1
67# define ARX_TARGET_PLATFORM_WINDOWS 1
73#if ARX_TARGET_PLATFORM_WINDOWS || ARX_TARGET_PLATFORM_WINRT
79# define ARX_EXTERN __declspec(dllexport)
81# define ARX_EXTERN __declspec(dllimport)
84# define CALL_CONV __stdcall
86#elif ARX_TARGET_PLATFORM_MACOS || ARX_TARGET_PLATFORM_IOS || ARX_TARGET_PLATFORM_LINUX || ARX_TARGET_PLATFORM_ANDROID || ARX_TARGET_PLATFORM_EMSCRIPTEN
93# error Must define one of: ARX_TARGET_PLATFORM_MACOS ARX_TARGET_PLATFORM_IOS, ARX_TARGET_PLATFORM_LINUX ARX_TARGET_PLATFORM_ANDROID ARX_TARGET_PLATFORM_WINDOWS ARX_TARGET_PLATFORM_WINRT.
98#define JNIFUNCTION(sig) Java_org_artoolkitx_arx_arxj_ARX_1jni_##sig