Download

PThreadEvent, i can not compile

Hi,
I have problem with compiling code with #include “Runtime/Core/Public/HAL/PThreadEvent.h”, so i can not use class PThreadEvent in my code. I use Visual Studio Community 2015, same error is in Visual Studio Community 2017.
And i use build DebugGame Editor, Win64, I have Windows 10 Pro (x64).

Here is error log:

1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(26): error C3646: ‘Mutex’: unknown override specifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(27): error C3646: ‘Condition’: unknown override specifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(31): error C2065: ‘Mutex’: undeclared identifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(31): error C3861: ‘pthread_mutex_lock’: identifier not found
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(37): error C2065: ‘Mutex’: undeclared identifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(37): error C3861: ‘pthread_mutex_unlock’: identifier not found
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(43): error C2027: use of undefined type ‘timeval’
1> D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(41): note: see declaration of ‘timeval’
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(43): error C2227: left of ‘->tv_usec’ must point to class/struct/union/generic type
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(45): error C2027: use of undefined type ‘timeval’
1> D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(41): note: see declaration of ‘timeval’
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(45): error C2227: left of ‘->tv_usec’ must point to class/struct/union/generic type
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(46): error C2027: use of undefined type ‘timeval’
1> D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(41): note: see declaration of ‘timeval’
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(46): error C2227: left of ‘->tv_usec’ must point to class/struct/union/generic type
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(47): error C2027: use of undefined type ‘timeval’
1> D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(41): note: see declaration of ‘timeval’
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(47): error C2227: left of ‘->tv_sec’ must point to class/struct/union/generic type
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(50): error C2027: use of undefined type ‘timeval’
1> D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(41): note: see declaration of ‘timeval’
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(50): error C2227: left of ‘->tv_usec’ must point to class/struct/union/generic type
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(52): error C2027: use of undefined type ‘timeval’
1> D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(41): note: see declaration of ‘timeval’
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(52): error C2227: left of ‘->tv_usec’ must point to class/struct/union/generic type
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(53): error C2027: use of undefined type ‘timeval’
1> D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(41): note: see declaration of ‘timeval’
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(53): error C2227: left of ‘->tv_usec’ must point to class/struct/union/generic type
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(54): error C2027: use of undefined type ‘timeval’
1> D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(41): note: see declaration of ‘timeval’
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(54): error C2227: left of ‘->tv_sec’ must point to class/struct/union/generic type
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(57): error C2027: use of undefined type ‘timeval’
1> D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(41): note: see declaration of ‘timeval’
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(57): error C2227: left of ‘->tv_sec’ must point to class/struct/union/generic type
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(58): error C2027: use of undefined type ‘timeval’
1> D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(41): note: see declaration of ‘timeval’
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(58): error C2227: left of ‘->tv_usec’ must point to class/struct/union/generic type
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(91): error C2065: ‘Condition’: undeclared identifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(91): error C3861: ‘pthread_cond_destroy’: identifier not found
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(94): error C2065: ‘Mutex’: undeclared identifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(94): error C3861: ‘pthread_mutex_destroy’: identifier not found
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(107): error C2065: ‘Mutex’: undeclared identifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(107): error C3861: ‘pthread_mutex_init’: identifier not found
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(109): error C2065: ‘Condition’: undeclared identifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(109): error C3861: ‘pthread_cond_init’: identifier not found
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(116): error C2065: ‘Mutex’: undeclared identifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(116): error C3861: ‘pthread_mutex_destroy’: identifier not found
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(139): error C2065: ‘Condition’: undeclared identifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(139): error C3861: ‘pthread_cond_broadcast’: identifier not found
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(147): error C2065: ‘Condition’: undeclared identifier
1>D:\Program Files\Epic Games\UE_4.16\Engine\Source\Runtime/Core/Public/HAL/PThreadEvent.h(147): error C3861: ‘pthread_cond_signal’: identifier not found
1>d:\clouds\my cloud\my projects\unreal\galaxy 4.16\source\galaxy\renavigation3d\NavGraph.h(75): error C2365: ‘NavGraph::Trigger’: redefinition; previous definition was ‘data member’
1> d:\clouds\my cloud\my projects\unreal\galaxy 4.16\source\galaxy\renavigation3d\NavGraph.h(70): note: see declaration of ‘NavGraph::Trigger’
1>
1> Error executing D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\cl.exe (tool returned code: 2)

Thank you for help

Antonin Jenik

AFIK, PThreadEvent dont have a “CORE_API” or something like that specified, so you can not use it directly in your project