Build errors with VS2015 and 1.0.210204.1 of Microsoft.Windows.ImplementationLibrary
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 3k
- Forks
- 300
- Avg merge
- 19h 12m
- Merged PRs (30d)
- 1
Description
struct wil::details::ResultStatus won't compile on VS2015. A default constructor and one that takes (const HRESULT, const NTSTATUS, bool) must be provided in order for it to compile. Changes, added to ...\include\wil\result_macros.h, after line 1224:
ResultStatus ()
{
hr = S_OK;
status = STATUS_SUCCESS;
isNtStatus = false;
}
ResultStatus (const HRESULT _hr, const NTSTATUS _status, bool _isNtStatus)
{
hr = _hr;
status = _status;
isNtStatus = _isNtStatus;
}
template struct wil::details_abi::ThreadLocalStorage::Node won't compile on VS2015. I had to add a constructor that takes a DWORD to get it to compile. Changes, added to ...\include\wil\result.h, after line 430:
Node (DWORD _threadId)
{
threadId = _threadId;
pNext = nullptr;
}
With the above changes I was able to use the Microsoft.Windows.ImplementationLibrary.
Visual Studio 2015 does not support the newer C++19 style-syntax.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in include/wil/result_macros.h around line 1224 and include/wil/result.h around line 430, where the VS2015 compilation failures are reported. Reproduce the build with Visual Studio 2015 and compare the affected ResultStatus and ThreadLocalStorage::Node definitions with the constructors described in the issue. Done means the Microsoft.Windows.ImplementationLibrary compiles successfully on VS2015.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100