diff --git a/include/zmq.h b/include/zmq.h index 5d90ba0c..8dc47f39 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -214,8 +214,10 @@ typedef struct zmq_msg_t { (defined (__SUNPRO_C) && __SUNPRO_C >= 0x590) || \ (defined (__SUNPRO_CC) && __SUNPRO_CC >= 0x590) unsigned char _ [64] __attribute__ ((aligned (sizeof (void *)))); -#elif defined(_MSC_VER) - __declspec (align (sizeof (void *))) unsigned char _ [64]; +#elif defined (_MSC_VER) && (defined (_M_X64) || defined (_M_ARM64)) + __declspec (align (8)) unsigned char _ [64]; +#elif defined (_MSC_VER) && (defined (_M_IX86) || defined (_M_ARM_ARMV7VE)) + __declspec (align (4)) unsigned char _ [64]; #else unsigned char _ [64]; #endif