'SetPipelineState': illegal qualified name in member declaration

cannot compile 4.16.0

engine\source\runtime\d3d12rhi\private\D3D12StateCachePrivate.h(716): error C4596: ‘SetPipelineState’: illegal qualified name in member declaration

ERROR : UBT error : Failed to produce item: Engine\Plugins\Runtime\OculusRift\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-OculusRift.lib

vs 2017

fixed:

D3D12_STATE_CACHE_INLINE void FD3D12StateCacheBase::SetPipelineState(FD3D12PipelineState* PSO)

change to =>

D3D12_STATE_CACHE_INLINE void SetPipelineState(FD3D12PipelineState* PSO)

links:

Use of qualified names in member declarations

Same issue is being tracked in this post if you’re interested

I really would like to not to do this every time new Engine comes out. Is it really so hard to fix this ?

Same. I also compiled the engine once without having to do this on VS2017, which seems to elude logic. I compiled it within the last week on the release branch, so nothing has changed with the code. I’m wondering if it has to do with GenerateProjectFiles.bat, both times I ran it with the -2017 switch. It might have to do with registry values for visual studio?

thanks I solved