Failed to compile LibOVRKernel
Hello, I was using an old v0.8 SDK and I decided to apply the newest SDK. I have encountered many errors and crushed most of them, but one last issue bothers me to run my application. When I try to compile LibOVRKernel project on VS2013, it says it cannot find OVR_ThreadCommandQueue.cpp and .h files. As it says, I couldn't find them from the downloaded SDK directory. They should be in LibOVRKernel\Src\Kernel, but they aren't. I also tried to remove them from the Solution Explorer and got new errors such as error C2039: 'thread' : is not a member of 'std' (..\..\..\Src\Util\Util_LongPollThread.cpp) for some codes, for instance, std::unique_ptr<std::thread> WatchdogThreadHandle; In the meantime, VS generates another errors regarding a class named _Pad defined in xthread. 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\thr/xthread(172): error C4265: 'std::_Pad' : class has virtual functions, but destructor is not virtual 1> instances of this class may not be destructed correctly (..\..\..\Src\Kernel\OVR_Error.cpp) 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\thr/xthread(172): error C4265: 'std::_Pad' : class has virtual functions, but destructor is not virtual 1> instances of this class may not be destructed correctly (..\..\..\Src\Kernel\OVR_DebugHelp.cpp) 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\thr/xthread(172): error C4265: 'std::_Pad' : class has virtual functions, but destructor is not virtual 1> instances of this class may not be destructed correctly (..\..\..\Src\Kernel\OVR_Log.cpp) 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\thr/xthread(172): error C4265: 'std::_Pad' : class has virtual functions, but destructor is not virtual 1> instances of this class may not be destructed correctly (..\..\..\Src\Kernel\OVR_System.cpp) 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\thr/xthread(172): error C4265: 'std::_Pad' : class has virtual functions, but destructor is not virtual 1> instances of this class may not be destructed correctly (..\..\..\Src\Kernel\OVR_Allocator.cpp) 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\thr/xthread(172): error C4265: 'std::_Pad' : class has virtual functions, but destructor is not virtual 1> instances of this class may not be destructed correctly (..\..\..\Src\Kernel\OVR_ThreadsWinAPI.cpp) 1> Util_Watchdog.cpp 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\thr/xthread(172): error C4265: 'std::_Pad' : class has virtual functions, but destructor is not virtual 1> instances of this class may not be destructed correctly (..\..\..\Src\Util\Util_LongPollThread.cpp) 1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\thr/xthread(172): error C4265: 'std::_Pad' : class has virtual functions, but destructor is not virtual 1> instances of this class may not be destructed correctly (..\..\..\Src\Util\Util_SystemInfo.cpp) The problmatic _Pad class is defined as class _CRTIMP2_PURE _Pad { // base class for launching threads public: _Pad(); ~_Pad() _NOEXCEPT; void _Launch(_Thrd_t *_Thr); void _Release(); virtual unsigned _Go() = 0; private: _Cnd_t _Cond; _Mtx_t _Mtx; bool _Started; }; Does anybody have encountered similar issue? Any comment would be helpful. Thank you in advance.Solved1.1KViews0likes2CommentsCompiling LibOVRKernel lib with MT_StaticRelease /MD settings is broken after SDK v1.3.2
My software has to link to the Oculus SDK using StaticRelease Multi-threaded DLL (/MD). I compile the LibOVRKernel into a lib using Oculus 2013 VS Project. After v1.3.2, it fails to compile as of versions (1.4,1.5 & 1.6). Errors: 1>..\..\..\Src\Kernel\OVR_Allocator.cpp(177): error C3861: '__acrt_get_msvcrt_heap_handle': identifier not found Does anyone have any ideas to fix the Oculus code or circumvent this?452Views2likes0Comments