update MSBuild solution to Windows SDK v10.0, add inet_pton define (fixes #5856) #5884
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #5856.
Contributes to #5061.
Tonight I tried compiling LightGBM on latest
master
withMSBUild
(using Visual Studio 2019), like this:That resulted in this error:
Updating the target Windows SDK version from 8.1 to 10.0 fixed that.
Then I hit the error reported in #5856. I think that happened because when building without CMake, the test introduced in #5159 isn't run,
WIN_HAS_INET_PTON
isn't defined, and then the implementation insocket_wrapper.hpp
conflicts with the one linked in from ws2_32.This PR proposes always defining that in the
MSBuild
configuration, since it should be only older releases of MinGW that didn't have a definition for that function.How I tested this
Ran that command from above on this branch, using Visual Studio 2019 on Windows 10.
Saw that LightGBM compiled successfully.