Include c++ std

Hello,

I try to use a std c++ object unordered_map in a cu file.

When I compile the file I get the error:

/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support \

So I had -std=c++11 to the compilation line and there are these error:

../BGE/cuda/../include/../thirdparty/utils/Parametermanager.h(28): error: no suitable conversion function from "std::unordered_map<std::__cxx11::string, float, std::hash<std::__cxx11::string>, std::equal_to<std::__cxx11::string>, std::allocator<std::pair<const std::__cxx11::string, float>>>" to "std::unordered_map<std::__cxx11::string, float, std::hash<std::__cxx11::string>, std::equal_to<std::__cxx11::string>, std::allocator<std::pair<const std::__cxx11::string, float>>> *" exists

../BGE/cuda/../include/../thirdparty/utils/Parametermanager.h(29): error: no suitable conversion function from "std::unordered_map<std::__cxx11::string, std::__cxx11::string, std::hash<std::__cxx11::string>, std::equal_to<std::__cxx11::string>, std::allocator<std::pair<const std::__cxx11::string, std::__cxx11::string>>>" to "std::unordered_map<std::__cxx11::string, std::__cxx11::string, std::hash<std::__cxx11::string>, std::equal_to<std::__cxx11::string>, std::allocator<std::pair<const std::__cxx11::string, std::__cxx11::string>>> *" exists

/usr/lib/gcc/x86_64-linux-gnu/5/include/mwaitxintrin.h(36): error: identifier "__builtin_ia32_monitorx" is undefined

/usr/lib/gcc/x86_64-linux-gnu/5/include/mwaitxintrin.h(42): error: identifier "__builtin_ia32_mwaitx" is undefined

../BGE/cuda/CCL.cu(558): error: expected a statement

How to solve this?

CUDA doesn’t implement STL on GPUs, usually you can use the Thrust instead (it’s installed as part of CUDA7/8)