OSUrobotics/ros_ovr_sdk

can't build

Opened this issue · 1 comments

I'm unable to build this. The root cause seems to be

cc1plus: error: unrecognized command line option -std=c++11

It seems like maybe the underlying c++ compiler doesn't support c++11. If this is the case, what compiler is being used and what version of the compiler is expected?

Admittedly, my system is a bit behind the target platform, and I can't upgrade because I need to be using hydro for compatibility with other code. I'm on ubuntu 12.04 with ros hydro. Current ros build system is catkin_tools, but I got the same error building with catkin.

The unrecognized command line option -std=c++11 error occured when using g++ version 4.6.4. I tried installing g++-4.7 and gcc-4.7, and changed

CXX           = g++
CC            = gcc

to

CXX           = g++-4.7
CC            = gcc-4.7

in the two places I could find it in the makefiles. This caused errors relating to c types, e.g. ../../../../LibOVRKernel/Src/Kernel/OVR_Allocator.h:566:22: error: UINT32_C was not declared in this scope.

I really want to make this work with hydro, and I have the energy, but not the knowledge. So even if it's not something you plan to fix, I'd really appreciate a nudge in the right direction.

I managed to make it build under g++-4.7/gcc-4.7 by adding the lines

#define __STDC_LIMIT_MACROS
#define __STDC_CONSTANT_MACROS

near the top of sdk/ovr_sdk_linux_0.5.0.1/LibOVR/Src/Net/OVR_Session.h and sdk/ovr_sdk_linux_0.5.0.1/LibOVRKernel/Src/Kernel/OVR_Allocator.h