Emulator Issues #11829
closedDolphin failed to build due to error C2664 with MSVC on windows
100%
Description
Environment:
Windows Server 2016 + VS2017 + dolphin master branch latest srouce code.
Dolphin failed to build due to error C2664: 'int WideCharToMultiByte(UINT,DWORD,LPCWCH,int,LPSTR,int,LPCCH,LPBOOL)': cannot convert argument 8 from 'bool' to 'LPBOOL. Could you help have a look about this issue? Thanks in advance!
Steps to reproduce the behavior:
- git clone https://github.com/dolphin-emu/dolphin.git D:\Dolphin\src
- git submodule init
- git submodule update --recursive
- Open a VS 2017 x64 command prompt and browse to D:\Dolphin
- devenv /upgrade .\source\dolphin-emu.sln
- msbuild /t:Dolphin /p:Configuration=Release;Platform=x64 /p:WindowsTargetPlatformVersion=10.0.17134.0 .\src\Source\dolphin-emu.sln /m
Actual result:
D:\Dolphin\src\Source\Core\Common\StringUtil.cpp(486): error C2664: 'int WideCharToMultiByte(UINT,DWORD,LPCWCH,int,LPSTR,int,LPCCH,LPBOOL)': cannot convert argument 8 from 'bool' to 'LPBOOL'
D:\Dolphin\src\Source\Core\Common\StringUtil.cpp(487): note: Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um\stringapiset.h(153): note: see declaration of 'WideCharToMultiByte'
Files
Updated by Silent about 5 years ago
Looks like a valid error, although weird that nobody else has been getting it - possibly devenv /upgrade switches some compilation options such as maybe /permissive-.
For an immediate fix, just change this "false" to "nullptr", I'll look into fixing this properly in the source later today.
Updated by QuellaZhang about 5 years ago
- File dolphin_bug965285.patch dolphin_bug965285.patch added
I have attached released patch, please review it.
Updated by Silent about 5 years ago
I know you said you use VS2017, but I am unable to get the same error with VS2017 no matter what I do. Seeing how you launched /upgrade, did you by any chance not launch VS2019?
The only thing I can think of is that maybe the very latest VS2017 update (released 13.08) added this, and I did not grab it yet. I'll install it, clean the repository and try again later.
Updated by Silent about 5 years ago
- Status changed from New to Fix pending
- % Done changed from 0 to 100
- Easy changed from No to Yes
- Relates to maintainability changed from No to Yes
Updated by Silent about 5 years ago
Will be solved by https://github.com/dolphin-emu/dolphin/pull/8315.
Updated by JosJuice about 5 years ago
- Status changed from Fix pending to Fixed
- Fixed in set to 5.0-10839