Did you both compile and link with the --bind flag?
2014-03-07 12:36 GMT+02:00 Michael IV <[email protected]>: > I am testing embind with the following chunk of code: > > #include<stdio.h> > #include<stdlib.h> > #include<assert.h> > #include <emscripten/bind.h> > void glm_add(float x1 ,float y1,float x2,float y2){ > printf("Vector summation equals: %f , %f",x1,y2); > } > > EMSCRIPTEN_BINDINGS(my_module) { > function("glm_add", &glm_add); > } > > > Getting this : > > C:\Users\Michael\documents\visual studio > 2010\Projects\EmscriptenDemo\EmscriptenDemo\main.cpp(5): includes this > header: > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\bind.h(10): > includes this header: > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\val.h(4): > includes this header: > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(36,40): > error : a space is required between consecutive right angle brackets (use > '> >') > 1> struct TypeID<std::unique_ptr<T>> { > 1> ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(52,42): > error : a space is required between consecutive right angle brackets (use > '> >') > 1> struct TypeID<AllowedRawPointer<T>> { > 1> ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(136,9): > error : unknown type name 'constexpr' > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(char); > 1> ^ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,13): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(136,9): > error : expected member name or ';' after declaration specifiers > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(char); > 1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,23): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ~~~~~~~~~ ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(137,9): > error : unknown type name 'constexpr' > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(signed char); > 1> ^ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,13): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(137,9): > error : expected member name or ';' after declaration specifiers > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(signed char); > 1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,23): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ~~~~~~~~~ ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(138,9): > error : unknown type name 'constexpr' > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(unsigned char); > 1> ^ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,13): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(138,9): > error : expected member name or ';' after declaration specifiers > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(unsigned char); > 1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,23): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ~~~~~~~~~ ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(139,9): > error : unknown type name 'constexpr' > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(signed short); > 1> ^ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,13): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(139,9): > error : expected member name or ';' after declaration specifiers > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(signed short); > 1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,23): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ~~~~~~~~~ ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(140,9): > error : unknown type name 'constexpr' > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(unsigned short); > 1> ^ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,13): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(140,9): > error : expected member name or ';' after declaration specifiers > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(unsigned short); > 1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,23): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ~~~~~~~~~ ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(141,9): > error : unknown type name 'constexpr' > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(signed int); > 1> ^ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,13): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(141,9): > error : expected member name or ';' after declaration specifiers > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(signed int); > 1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,23): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ~~~~~~~~~ ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(142,9): > error : unknown type name 'constexpr' > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(unsigned int); > 1> ^ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,13): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(142,9): > error : expected member name or ';' after declaration specifiers > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(unsigned int); > 1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,23): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ~~~~~~~~~ ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(143,9): > error : unknown type name 'constexpr' > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(signed long); > 1> ^ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,13): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(143,9): > error : expected member name or ';' after declaration specifiers > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(signed long); > 1> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,23): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ~~~~~~~~~ ^ > 1>C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(144,9): > error : unknown type name 'constexpr' > 1> EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE(unsigned long); > 1> ^ > 1> C:\Program Files > (x86)\Emscripten\emscripten\1.12.0\system\include\emscripten\wire.h(128,13): > note: expanded from macro 'EMSCRIPTEN_DEFINE_NATIVE_BINDING_TYPE' > 1> constexpr static WireType toWireType(const type& v) { \ > 1> ^ > 1>GCCCOMPILE : fatal error : too many errors emitted, stopping now > [-ferror-limit=] > 1> 20 errors generated. > 1>GCCCOMPILE : error root: compiler frontend failed to generate LLVM > bitcode, halting > ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== > > -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
