- Engine Version: 4.13.2 (From Source)
- Additional Dependencies: Xbox Source
- Visual Studio Version: 2015 Pro
- OS: Windows 10
Today I added a couple new C++ classes to my project (there were already several, which had no issues compiling before) and now my project will no longer compile:
The two classes were called:
- Game
- JSONContainer
The project breaks when trying to compile the PCH.ProjectName.h.cpp file with a whole bunch of errors from the engine source:
2> Performing 7 actions (4 in parallel)
2> PCH.ProjectName.h.cpp
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(35): error C2061: syntax error: identifier 'FReferenceCollector'
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(39): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(39): error C2143: syntax error: missing ';' before '*'
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(39): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(52): error C2079: 'FActorComponentInstanceData::SavedProperties' uses undefined class 'TArray<uint8,FDefaultAllocator>'
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(37): error C2228: left of '.Num' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(37): note: type is 'const int'
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(78): error C2061: syntax error: identifier 'FReferenceCollector'
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(82): error C2079: 'FComponentInstanceDataCache::ComponentsInstanceData' uses undefined class 'TArray<FActorComponentInstanceData *,FDefaultAllocator>'
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(84): error C2065: 'USceneComponent': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(84): error C2059: syntax error: ','
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(84): error C2065: 'FTransform': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(84): error C2976: 'TMap': too few template arguments
2> c:\unreal\4132\engine\source\runtime\core\public\Containers/ContainersFwd.h(13): note: see declaration of 'TMap'
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(84): error C2079: 'FComponentInstanceDataCache::InstanceComponentTransformToRootMap' uses undefined class 'TMap'
2>c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(76): error C2228: left of '.Num' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\engine\public\ComponentInstanceDataCache.h(76): note: type is 'const int'
2>C:\Unreal\4132\Engine\Source\Runtime\Core\Public\Containers\LockFreeList.h(6): error C2065: 'LogLockFreeList': undeclared identifier
2>C:\Unreal\4132\Engine\Source\Runtime\Core\Public\Containers\LockFreeList.h(6): error C2065: 'Log': undeclared identifier
2>C:\Unreal\4132\Engine\Source\Runtime\Core\Public\Containers\LockFreeList.h(6): error C2065: 'All': undeclared identifier
2>C:\Unreal\4132\Engine\Source\Runtime\Core\Public\Containers\LockFreeList.h(6): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>C:\Unreal\4132\Engine\Source\Runtime\Core\Public\Containers\LockFreeList.h(6): error C2491: 'DECLARE_LOG_CATEGORY_EXTERN': definition of dllimport data not allowed
2>C:\Unreal\4132\Engine\Source\Runtime\Core\Public\Containers\LockFreeList.h(6): error C2440: 'initializing': cannot convert from 'initializer list' to 'int'
2> C:\Unreal\4132\Engine\Source\Runtime\Core\Public\Containers\LockFreeList.h(6): note: The initializer contains too many elements
2>C:\Unreal\4132\Engine\Source\Runtime\Core\Public\Containers\LockFreeList.h(17): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>C:\Unreal\4132\Engine\Source\Runtime\Core\Public\Containers\LockFreeList.h(17): error C2146: syntax error: missing ';' before identifier 'FLockFreeListCounter'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(22): error C2504: 'FNoncopyable': base class undefined
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(226): error C3646: 'LockCount': unknown override specifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(226): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(228): error C3646: 'MarkedForDeath': unknown override specifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(228): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(582): error C3646: 'NumUsedLinks': unknown override specifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(582): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(584): error C3646: 'NumFreeLinks': unknown override specifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(584): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(586): error C3646: 'NumAllocatedLinks': unknown override specifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(586): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(46): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(98): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(115): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(197): error C2653: 'FPlatformMisc': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(197): error C3861: 'MemoryBarrier': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(209): error C2653: 'FPlatformMisc': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(209): error C3861: 'MemoryBarrier': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(250): error C2653: 'FPlatformAtomics': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(250): error C3861: 'InterlockedCompareExchangePointer': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(276): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(289): error C2653: 'FPlatformAtomics': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(289): error C3861: 'InterlockedCompareExchangePointer': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(323): error C2653: 'FPlatformAtomics': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(323): error C3861: 'InterlockedCompareExchangePointer': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(347): error C2653: 'FPlatformAtomics': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(347): error C3861: 'InterlockedCompareExchangePointer': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(350): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(377): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(378): error C2653: 'FPlatformAtomics': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(378): error C3861: 'InterlockedCompareExchangePointer': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(412): error C2039: 'LockCount': is not a member of 'FLockFreeVoidPointerListBase::FLink'
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(217): note: see declaration of 'FLockFreeVoidPointerListBase::FLink'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(412): error C2228: left of '.Increment' must have class/struct/union
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(413): error C2653: 'FPlatformMisc': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(413): error C3861: 'MemoryBarrier': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(425): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(426): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(433): error C2653: 'FPlatformMisc': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(433): error C3861: 'MemoryBarrier': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(443): error C2065: 'MarkedForDeath': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(443): error C2228: left of '.GetValue' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(443): note: type is 'unknown-type'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(443): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(470): error C2653: 'FPlatformMisc': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(470): error C3861: 'MemoryBarrier': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(472): error C2065: 'MarkedForDeath': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(472): error C2228: left of '.Increment' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(472): note: type is 'unknown-type'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(473): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(499): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(500): error C2065: 'NumUsedLinks': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(500): error C2228: left of '.Increment' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(500): note: type is 'unknown-type'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(502): error C2065: 'LogLockFreeList': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(502): error C2065: 'Log': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(502): error C3861: 'TEXT': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(502): error C2065: 'NumUsedLinks': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(502): error C2228: left of '.GetValue' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(502): note: type is 'unknown-type'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(502): error C3861: 'UE_CLOG': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(508): error C2065: 'NumFreeLinks': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(508): error C2228: left of '.Decrement' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(508): note: type is 'unknown-type'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(512): error C2065: 'NumAllocatedLinks': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(512): error C2228: left of '.Increment' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(512): note: type is 'unknown-type'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(514): error C2065: 'LogLockFreeList': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(514): error C2065: 'Log': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(514): error C3861: 'TEXT': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(514): error C2065: 'NumAllocatedLinks': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(514): error C2228: left of '.GetValue' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(514): note: type is 'unknown-type'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(514): error C3861: 'UE_CLOG': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(518): error C2039: 'LockCount': is not a member of 'FLockFreeVoidPointerListBase::FLink'
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(217): note: see declaration of 'FLockFreeVoidPointerListBase::FLink'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(518): error C2228: left of '.Increment' must have class/struct/union
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(520): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(521): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(522): error C2039: 'LockCount': is not a member of 'FLockFreeVoidPointerListBase::FLink'
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(217): note: see declaration of 'FLockFreeVoidPointerListBase::FLink'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(522): error C2228: left of '.GetValue' must have class/struct/union
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(522): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(529): error C2653: 'FPlatformMisc': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(529): error C3861: 'MemoryBarrier': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(539): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(540): error C2065: 'NumUsedLinks': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(540): error C2228: left of '.Decrement' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(540): note: type is 'unknown-type'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(541): error C2039: 'LockCount': is not a member of 'FLockFreeVoidPointerListBase::FLink'
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(217): note: see declaration of 'FLockFreeVoidPointerListBase::FLink'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(541): error C2228: left of '.Increment' must have class/struct/union
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(542): error C2653: 'FPlatformMisc': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(542): error C3861: 'MemoryBarrier': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(544): error C2065: 'NumFreeLinks': undeclared identifier
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(544): error C2228: left of '.Increment' must have class/struct/union
2> c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(544): note: type is 'unknown-type'
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(552): error C3861: 'checkSlow': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(600): error C2653: 'FPlatformMisc': is not a class or namespace name
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(600): error C3861: 'MemoryBarrier': identifier not found
2>c:\unreal\4132\engine\source\runtime\core\public\containers\LockFreeVoidPointerListBase.h(600): fatal error C1003: error count exceeds 100; stopping compilation
2>ERROR : UBT error : Failed to produce item: C:\Users\David\Documents\Unreal Projects\ProjectName\Binaries\Win64\UE4Editor-ProjectName.dll
After reading some similar errors that people had on the answers site, I thought that the “Game” class that I created could be conflicting with a pre-existing engine class, so I did the following:
- I removed Game.h and Game.cpp from the Visual Studio project.
- I deleted Game.h and Game.cpp from the Source folder of the project.
- I deleted the contents of the Binaries folder of the project.
- I deleted the Intermediate folder of the project.
- I regenerated the Visual Studio project files from the UPROJECT file.
- I cleaned the project from inside Visual Studio.
- I rebuilt the entire project.
This, however, did not fix the issue. I still get the same set of errors when trying to compile.
Any ideas as to what else may be causing the issue?