Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
kojack's avatar
9 years ago

Oculus SDK 1.16 LibOVRKernel failing to build in VS2015

When compiling LibOVRKernel I'm getting the following error in Logging_Library.cpp, Logging_OutputPlugins.cpp and Logging_Tools.cpp:

Error    C4265    'std::_Pad': class has virtual functions, but destructor is not virtual    LibOVRKernel    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\thr\xthread    215   

I've tracked down the change since 1.15 (which compiles fine) which appears to be the cause. In Logging_Tools.h #include <mutex> has been added at line 97. Removing that include fixes the problem and it compiles fine.

The only use of mutex is in a preprocessor block that isn't for windows builds (logging_tools.h line 133). Putting the include in a preprocessor check too should fix it.

The sdk does include pragmas to disable C4265, except it appears that it was a warning previously, but in VS2015 it's now an error so disabling doesn't work.

2 Replies

  • @kojack which version/update are you running? I don't hit this issue with VS2015 Version 14.0.25431.01 Update 3 (just verified with a clean SDK download).

  • I'm on VS2015 Community Update 1  V14.0.24720.00
    I'll try an update when I get a chance.