• Matt Powley's avatar
    Fixes for Windows XP compatibility · f2018ab3
    Matt Powley authored
    A Visual Studio build from master (commit id: dac5b45d) using the v140_xp toolset yields a binary that is not XP compatible.
    
    Two libraries contain exports that cannot be found:
     -  IPHLPAPI.DLL : if_nametoindex
     - KERNEL32.DLL : InitializeConditionVariable
    
    The latter export is already dealt with in the file './src/condition_variable.hpp'; however this requires setting the _WIN32_WINNT pre-processor definition.
    I am not experienced enough to figure a work around for the 'if_nametoindex' method, so I have created a new pre-processor definition 'ZMQ_HAVE_WINDOWS_TARGET_XP' and removed the calling of the function with the limitation that these builds cannot handle a IPv6 address with an adapter name.
    
    To make it easier for people targeting XP with an MSVC build I have modified the MSBuild property file to add/modify the pre-processor definitions if they are building using a XP targeting tool set; such as v140_xp.
    f2018ab3
tcp_address.cpp 21.6 KB