mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-09 22:58:03 +08:00
f2018ab317
A Visual Studio build from master (commit id: dac5b45dfb224ff184a7aed39c5859ae5bac3803) 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.
28 lines
1.1 KiB
XML
28 lines
1.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
|
|
<PropertyGroup>
|
|
<_PropertySheetDisplayName>Common Settings</_PropertySheetDisplayName>
|
|
<CharacterSet>Unicode</CharacterSet>
|
|
</PropertyGroup>
|
|
|
|
<ImportGroup Label="PropertySheets">
|
|
<Import Project="$(Platform).props" />
|
|
</ImportGroup>
|
|
|
|
<ItemDefinitionGroup>
|
|
<ClCompile>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
<PreprocessorDefinitions>UNICODE;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
|
|
<!-- When using a tool set to target Windows XP, define a pre-processor definition and modify the target Windows version -->
|
|
<ItemDefinitionGroup Condition="$(PlatformToolset.Contains('_xp'))">
|
|
<ClCompile>
|
|
<PreprocessorDefinitions>ZMQ_HAVE_WINDOWS_TARGET_XP;_WIN32_WINNT=0x0501;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
</ItemDefinitionGroup>
|
|
|
|
</Project> |