Forum Discussion

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

CMake / DLL version of the new SDK & examples

This represents the effort of a few days to migrate my example code onto the new SDK. Currently this is a Windows/OpenGL only release. Windows, because the new SDK only support windows at present. OpenGL because the SDK as provided can't be built from scratch under Visual Studio 2013 owing to some missing headers.

I've made a number of changes to the SDK as provided by Oculus. As always, I've dumped their project files in preference for using CMake.

In addition, I've broken out the C API from the main body of the SDK. The C API is in the Bindings/C directory of the OculusSDK library. The current CMake settings have it set to build as a shared library (i.e. a DLL). The examples now only work through the C API. If you wish to follow this pattern, the only files you need to include are the ones located in "Bindings/C/Include". In addition, they are self contained and unlike the previous SDK version don't require adding all of the SDK source file paths to the include path.

In addition to the structural changes to the SDK, I have made some minor changes to the OpenGL usage inside the C API to enable the code to work with core profiles OpenGL. Previously, the SDK didn't use Vertex Array Objects to store the bindings between the vertex buffers and the shaders. This is forbidden by the core profile, so if like me you were using it, you'd get nothing to render.

I am also working on replacing the current Java functionality which is based on a 'work-alike' implementation of the OVR SDK with an actual JNA binding to the C API DLL. This should easily enable feature parity with the Oculus SDK.

https://github.com/OculusRiftInAction/OculusRiftInAction/tree/preview_031

10 Replies

  • Your book is going to be much less useful if you don't use the proper SDK the proper way. And removing the project files is just stupid and a step in the wrong direction. If you want that missing dll, I'm sure you can get it for free.
  • "2EyeGuy" wrote:
    Your book is going to be much less useful if you don't use the proper SDK the proper way.


    Well, I'm not too concerned since this is an alpha release of the SDK. So as long as my applications use the C API itself in the fashion it's intended to be used, how I structure the projects isn't really an issue. And since Oculus has shown the target software stack will involve the C API as the primary interface, with C++ helpers built on top of it, it's entirely likely that my refactored version of the SDK is closer to what the actual release will look like than the current preview released by OVR.

    "2EyeGuy" wrote:
    And removing the project files is just stupid and a step in the wrong direction.


    Well, I think that attempting to maintain 5 or 6 different sets of project files (say, 3 Visual Studio versions, plus XCode, plus a Makefile) is a lot more work intensive than just maintaining a single CMake meta-project file that will generate the actual platform specific files for whatever tool I choose to use. CMake is gaining adoption in the C++ world, and while it's not quite as ubiquitous as Maven in the Java world, it's the tool with the most promise for doing so as far as I can tell.

    In fact, using CMake is why I was able to refactor the C API out into it's own directories in just a couple of evenings instead of weeks fiddling with the various project files included in the SDK.

    "2EyeGuy" wrote:
    If you want that missing dll, I'm sure you can get it for free.


    If by that you mean I can go find some shady 'download your missing dllz' site and hope that I don't infect or destroy my system by doing so, no thanks. If on the other than you're suggesting that I go download and install Visual Studio 2010 simply because OVR forgot to statically link the C++ runtime, again... no thanks. My examples work exclusively with OpenGL anyway, so dropping the DirectX support isn't a big blocker for me.

    In fact I largely consider the use of DirectX a form of apostasy, and believe it should be punishable by flogging. But usually I take my meds shortly after thinking that and shortly before I fetch my flail.
  • Okay, I signed up for MEAP and listed Brad Davis as a reference. Looking forward to flogging your book. ;)
  • Well, I think that attempting to maintain 5 or 6 different sets of project files (say, 3 Visual Studio versions, plus XCode, plus a Makefile) is a lot more work intensive than just maintaining a single CMake meta-project file that will generate the actual platform specific files for whatever tool I choose to use.


    True. But only if the CMake system works ;-)
    I've cloned your preview_031 branch mentioned above but get missing externals while configuring in CMake. Do I Have to install/build OpenCV, Sixense, SPNAV, Steamworks, Depthsense myself? Apart from the 3rd party libraries you already provide (glew, glfw, jsoncpp, libpng, OculusSDK, OpenCTM, zlib). Do you really need all of this "context" to start working with the Oculus Rift (in your opinion as co-writer of your book?). Shouldn't a platform-independent window handling utility (glfw), glew and the OculusSDK be enough?

    Thanks,
    Daniel Dekkers

    PS. Apart from the criticism, you are, at the moment, still my only hope for a small working OpenGL example. So keep up the good work. ;-)


    Debug build, resources will be loaded from disk
    Using Win32 for window creation
    Using WGL for context creation
    CMake Warning at CMakeLists.txt:138 (find_package):
    By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by "OpenCV", but
    CMake did not find one.

    Could not find a package configuration file provided by "OpenCV" with any
    of the following names:

    OpenCVConfig.cmake
    opencv-config.cmake

    Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
    "OpenCV_DIR" to a directory containing one of the above files. If "OpenCV"
    provides a separate development package or SDK, be sure it has been
    installed.


    Could NOT find Sixense (missing: SIXENSE_LIBRARIES SIXENSE_UTIL_LIBRARY SIXENSE_INCLUDE_DIR)
    Could NOT find SPNAV (missing: SPNAV_LIBRARY SPNAV_INCLUDE_DIR)
    Could NOT find Steamworks (missing: STEAMWORKS_LIBRARY STEAMWORKS_INCLUDE_DIR)
    Could NOT find Depthsense (missing: DEPTHSENSE_LIBRARY DEPTHSENSE_INCLUDE_DIR)
    Configuring done
    Generating done
  • "DoZo1971" wrote:

    ...
    Configuring done
    Generating done



    Those last two lines means it completed successfully. The other libraries that are not found are optional items that cause some additional examples (currently in other branches) to be built. I'll try to update the public branch to remove the references so its not so confusing, but the project files should exist after you run CMake, so you can build the basic examples.
  • I've updated the CMake files to remove the references to the optional (and in that branch, unused) dependencies. It should run now with far fewer messages about unfound items.
  • I'll log what I'm doing:

    git clone --recursive -b preview_031 https://github.com/OculusRiftInAction/OculusRiftInAction.git

    CMake GUI 2.8.12.1, source C:/OculusRiftInAction, binaries C:/OculusRiftInAction/build, compiler Visual Studio 11

    Configuration is now more clean:

    The C compiler identification is MSVC 17.0.61030.0
    The CXX compiler identification is MSVC 17.0.61030.0
    Check for working C compiler using: Visual Studio 11
    Check for working C compiler using: Visual Studio 11 -- works
    Detecting C compiler ABI info
    Detecting C compiler ABI info - done
    Check for working CXX compiler using: Visual Studio 11
    Check for working CXX compiler using: Visual Studio 11 -- works
    Detecting CXX compiler ABI info
    Detecting CXX compiler ABI info - done
    Debug build, resources will be loaded from disk
    Found OpenGL: opengl32
    Looking for include file pthread.h
    Looking for include file pthread.h - not found
    Found Threads: TRUE
    Using Win32 for window creation
    Using WGL for context creation
    Looking for sys/types.h
    Looking for sys/types.h - found
    Looking for stdint.h
    Looking for stdint.h - found
    Looking for stddef.h
    Looking for stddef.h - found
    Check size of off64_t
    Check size of off64_t - failed
    Looking for fseeko
    Looking for fseeko - not found
    Looking for unistd.h
    Looking for unistd.h - not found
    Performing Test COMPILER_HAS_DEPRECATED_ATTR
    Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
    Performing Test COMPILER_HAS_DEPRECATED
    Performing Test COMPILER_HAS_DEPRECATED - Success
    Configuring done


    Load the generated solution OculusRiftExamples.sln in Visual Studio 2012, build...
    10 succeeded, 17 failed.
    Just trying to build the first example (Example_2_1_SDK), problems with GLMesh.h and Font.h:


    1>------ Build started: Project: ExampleCommon, Configuration: Debug Win32 ------
    1> Microsoft (R) C/C++ Optimizing Compiler Version 17.00.61030 for x86
    1> Copyright (C) Microsoft Corporation. All rights reserved.
    1>
    1> cl /c /IC:/OculusRiftInAction/libraries/OculusSDK/Bindings/C/Include /IC:/OculusRiftInAction/libraries/OculusSDK/3rdParty/glext /IC:/OculusRiftInAction/libraries/glew/include /IC:/OculusRiftInAction/libraries/glfw/include /IC:/OculusRiftInAction/libraries/OpenCTM /IC:/OculusRiftInAction/build/libraries/zlib /IC:/OculusRiftInAction/libraries/zlib /IC:/OculusRiftInAction/libraries/libpng /IC:/OculusRiftInAction/build/libraries/libpng /IC:/OculusRiftInAction/libraries/gl /IC:/OculusRiftInAction/libraries/glm /IC:/OculusRiftInAction/resources /IC:/OculusRiftInAction/build/resources /IC:/OculusRiftInAction/build/source/common /IC:/OculusRiftInAction/source/common /Zi /W3 /WX- /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D OVR_DEBUG_BUILD /D UNICODE /D _UNICODE /D OVR_BUILD_DEBUG /D GLEW_STATIC /D "CMAKE_INTDIR=\"Debug\"" /D _UNICODE /D UNICODE /Gm- /EHsc /RTC1 /MTd /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /Fo"ExampleCommon.dir\Debug\\" /Fd"ExampleCommon.dir\Debug\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt ..\..\..\source\common\Common.cpp ..\..\..\source\common\Files.cpp ..\..\..\source\common\Font.cpp ..\..\..\source\common\GlfwApp.cpp ..\..\..\source\common\GlMesh.cpp ..\..\..\source\common\GlUtils.cpp ..\..\..\source\common\Hid.cpp ..\..\..\source\common\Interaction.cpp ..\..\..\source\common\OpenCV.cpp ..\..\..\source\common\Rift.cpp
    1>
    1> Common.cpp
    1>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    1> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    1>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    1> type is ''unknown-type''
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1> Files.cpp
    1>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    1> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    1>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    1> type is ''unknown-type''
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1> Font.cpp
    1>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    1> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    1>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    1> type is ''unknown-type''
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1> GlfwApp.cpp
    1>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    1> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    1>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    1> type is ''unknown-type''
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1> GlMesh.cpp
    1>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    1> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    1>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    1> type is ''unknown-type''
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1> GlUtils.cpp
    1>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    1> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    1>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    1> type is ''unknown-type''
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1> Hid.cpp
    1>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    1> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    1>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    1> type is ''unknown-type''
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1> Interaction.cpp
    1>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    1> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    1>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    1> type is ''unknown-type''
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1> OpenCV.cpp
    1>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    1> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    1>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    1> type is ''unknown-type''
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1> Rift.cpp
    1>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    1>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    1> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    1>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    1>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    1>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    1>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    1>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    1> type is ''unknown-type''
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    1>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    1> Generating Code...
    2>------ Build started: Project: Example_2_1_SDK, Configuration: Debug Win32 ------
    2> Microsoft (R) C/C++ Optimizing Compiler Version 17.00.61030 for x86
    2> Copyright (C) Microsoft Corporation. All rights reserved.
    2>
    2> cl /c /IC:/OculusRiftInAction/libraries/OculusSDK/Bindings/C/Include /IC:/OculusRiftInAction/libraries/OculusSDK/3rdParty/glext /IC:/OculusRiftInAction/libraries/glew/include /IC:/OculusRiftInAction/libraries/glfw/include /IC:/OculusRiftInAction/libraries/OpenCTM /IC:/OculusRiftInAction/build/libraries/zlib /IC:/OculusRiftInAction/libraries/zlib /IC:/OculusRiftInAction/libraries/libpng /IC:/OculusRiftInAction/build/libraries/libpng /IC:/OculusRiftInAction/libraries/gl /IC:/OculusRiftInAction/libraries/glm /IC:/OculusRiftInAction/resources /IC:/OculusRiftInAction/build/resources /IC:/OculusRiftInAction/source/common /IC:/OculusRiftInAction/build/source/common /Zi /W3 /WX- /Od /Ob0 /Oy- /D WIN32 /D _WINDOWS /D _DEBUG /D OVR_DEBUG_BUILD /D UNICODE /D _UNICODE /D OVR_BUILD_DEBUG /D GLEW_STATIC /D "CMAKE_INTDIR=\"Debug\"" /D _UNICODE /D UNICODE /Gm- /EHsc /RTC1 /MTd /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR /Fo"Example_2_1_SDK.dir\Debug\\" /Fd"Example_2_1_SDK.dir\Debug\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt ..\..\source\Example_2_1_SDK.cpp
    2>
    2> Example_2_1_SDK.cpp
    2>c:\oculusriftinaction\source\common\Font.h(139): error C2065: 'NAN' : undeclared identifier
    2>c:\oculusriftinaction\source\common\Font.h(145): error C2065: 'NAN' : undeclared identifier
    2>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.
    2>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2059: syntax error : 'constant'
    2>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2143: syntax error : missing ';' before '}'
    2>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2238: unexpected token(s) preceding ';'
    2>c:\oculusriftinaction\source\common\GlMesh.h(19): error C2146: syntax error : missing ';' before identifier 'positions'
    2>c:\oculusriftinaction\source\common\GlMesh.h(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    2>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2146: syntax error : missing ';' before identifier 'normals'
    2>c:\oculusriftinaction\source\common\GlMesh.h(20): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    2>c:\oculusriftinaction\source\common\GlMesh.h(20): error C2086: 'int VVec4' : redefinition
    2> c:\oculusriftinaction\source\common\GlMesh.h(19) : see declaration of 'VVec4'
    2>c:\oculusriftinaction\source\common\GlMesh.h(21): error C2146: syntax error : missing ';' before identifier 'colors'
    2>c:\oculusriftinaction\source\common\GlMesh.h(21): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    2>c:\oculusriftinaction\source\common\GlMesh.h(22): error C2146: syntax error : missing ';' before identifier 'texCoords'
    2>c:\oculusriftinaction\source\common\GlMesh.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    2>c:\oculusriftinaction\source\common\GlMesh.h(23): error C2146: syntax error : missing ';' before identifier 'indices'
    2>c:\oculusriftinaction\source\common\GlMesh.h(23): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    2>c:\oculusriftinaction\source\common\GlMesh.h(24): error C2059: syntax error : 'public'
    2>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2059: syntax error : ')'
    2>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2143: syntax error : missing ';' before '{'
    2>c:\oculusriftinaction\source\common\GlMesh.h(25): error C2447: '{' : missing function header (old-style formal list?)
    2>c:\oculusriftinaction\source\common\GlMesh.h(28): error C2226: syntax error : unexpected type 'Mesh'
    2>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2065: 'other' : undeclared identifier
    2>c:\oculusriftinaction\source\common\GlMesh.h(29): error C2228: left of '.model' must have class/struct/union
    2> type is ''unknown-type''
    2>c:\oculusriftinaction\source\common\GlMesh.h(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    2>c:\oculusriftinaction\source\common\GlMesh.h(29): fatal error C1903: unable to recover from previous error(s); stopping compilation
    ========== Build: 0 succeeded, 2 failed, 9 up-to-date, 0 skipped ==========


    NAN is always a problem in Visual Studio. Which platform/compiler do you use yourself?

    Thanks,
    Daniel Dekkers
  • "DoZo1971" wrote:
    NAN is always a problem in Visual Studio. Which platform/compiler do you use yourself?


    Visual Studio 2013 Express Desktop edition. So I guess it's not a problem anymore, but that isn't that helpful.

    My code also takes advantage of a number of C++11 features, like member initialization and lambdas. VS 2012 may not be up to the challenge in terms of feature coverage.

    "DoZo1971" wrote:

    1>c:\oculusriftinaction\source\common\GlMesh.h(17): error C2473: 'color' : looks like a function definition, but there is no parameter list.


    Yeah, that's complaining about the declaration here:


    glm::vec3 color{1, 1, 1};


    which is valid C++11 and accepted by the latest XCode, gcc and Visual Studio versions. Sorry.