Forum Discussion

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

Oculus SDK 0.4.4 - Errors within ovr_capi_gl.h and ovr_capi.

Hello,

I am trying to compile a project with openGL and OculusSDK 0.4.4 (unsing VS2012). But I get severel errors while compiling in the ovr_capi_gl.h.

1>------ Build started: Project: Oculus_glfw_OpenGL_Demo, Configuration: Debug Win32 ------
1> demo.cpp
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(38): error C2146: syntax error : missing ';' before identifier 'Window'
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(38): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(40): error C2146: syntax error : missing ';' before identifier 'DC'
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(66): error C2275: 'ovrGLTextureData' : illegal use of this type as an expression
1> f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(64) : see declaration of 'ovrGLTextureData'
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(66): error C2065: 'TexId' : undeclared identifier
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(66): error C2275: 'ovrTexture' : illegal use of this type as an expression
1> f:\includes_und_libs\oculussdk\libovr\src\ovr_capi.h(469) : see declaration of 'ovrTexture'
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(66): error C2065: 'PlatformData' : undeclared identifier
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(66): error C3861: 'offsetof': identifier not found
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


I added #include <Windows.h> as mentioned in this thread viewtopic.php?f=20&t=17709 (last post).

It fixed some errors but not everything. So the following errors remained:

1>------ Build started: Project: Oculus_glfw_OpenGL_Demo, Configuration: Debug Win32 ------
1> demo.cpp
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(66): error C2275: 'ovrGLTextureData' : illegal use of this type as an expression
1> f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(64) : see declaration of 'ovrGLTextureData'
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(66): error C2065: 'TexId' : undeclared identifier
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(66): error C2275: 'ovrTexture' : illegal use of this type as an expression
1> f:\includes_und_libs\oculussdk\libovr\src\ovr_capi.h(469) : see declaration of 'ovrTexture'
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(66): error C2065: 'PlatformData' : undeclared identifier
1>f:\includes_und_libs\oculussdk\libovr\src\ovr_capi_gl.h(66): error C3861: 'offsetof': identifier not found
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


This are the lines in the header files:
ovr_capi_gl.h
/// Used to pass GL eye texture data to ovrHmd_EndFrame.
typedef struct OVR_ALIGNAS(8) ovrGLTextureData_s
{
/// General device settings.
ovrTextureHeader Header;
/// The OpenGL name for this texture.
GLuint TexId;
} ovrGLTextureData;

static_assert(offsetof(ovrGLTextureData, TexId) == offsetof(ovrTexture, PlatformData), "Mismatch of structs that are presumed binary equivalents.");


ovr_capi.h
/// Contains platform-specific information about a texture.
typedef struct OVR_ALIGNAS(8) ovrTexture_
{
ovrTextureHeader Header;
uintptr_t PlatformData[8];
} ovrTexture;


Unfortunately I'm absolutely new to this topic. Has anyone an idea to fix the errors?