I have discovered that the libpath gradle uses for windows8 SDK is incorrect. Gradle (2.1-rc-3) in org.gradle.nativebinaries.toolchain.internal.msvcpp.WindowsSdk has the following definition:
private static final String LIBPATH_SDK8 = “Lib/win8/”; However in the installation I have for the Windows8 SDK this should be:
private static final String LIBPATH_SDK8 = “Lib/win8/um/”;
This bug shows itself in two ways: * For X86 the last of the options gradle has for libpaths of the Windows SDK gets used as the last option is “Lib” which is a valid directory on my system (IE. “Lib” is part of “Lib/win8/um/”). * For X64 gradle does not find a match so resorts to the first libpath SDK option which is for the Windows8.1 SDK.
The specific version of the Windows8 SDK I am using is: 8.59.29750 (the version listed in programs and features).
Thanks for the report. It’s quite possible that our handling of Windows SDK 8 isn’t quite right, since our test coverage of all of the different Visual Studio & SDK versions is incomplete.
The first place to start would be to understand exactly how Gradle is finding your Windows SDK: this is done via ‘org.gradle.nativeplatform.toolchain.internal.msvcpp.DefaultWindowsSdkLocator’. Running the build using ‘–debug’ and searching output for ‘Windows SDKs’ and ‘Windows Kits’ should give you some clues.
Sorry for the delay in getting back, but I sort of stepped around the issue by installing the Windows8.1 SDK, so the urgency for the project I am working on to get this solved went down.
However as I know where and how to solve this, yes I could create a fix. It probably will be a few days before I can create a fix and pull request.
Thanks Michael. Glad you worked around your issue. Yep, if you can find the time to implement, test and contribute a fix, I’m sure other users would most appreciate it.