In file included from C:/msys64/mingw64/include/c++/4.9.0/x86_64-w64-mingw32/bits/gthr-default.h:35:0, from C:/msys64/mingw64/include/c++/4.9.0/x86_64-w64-mingw32/bits/gthr.h:148, from C:/msys64/mingw64/include/c++/4.9.0/ext/atomicity.h:35, from C:/msys64/mingw64/include/c++/4.9.0/bits/basic_string.h:39, from C:/msys64/mingw64/include/c++/4.9.0/string:52, from test.cpp:1: C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:752:12: error: expected unqualified-id before '{' token struct tm *gmtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:752:12: error: expected ')' before '{' token C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:752:12: error: expected primary-expression before 'struct' struct tm *gmtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:752:12: error: expected '}' before 'struct' C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:752:12: error: expected constructor, destructor, or type conversion before ';' token struct tm *gmtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:752:12: error: '___tmp_tm' does not name a type struct tm *gmtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:752:12: error: expected unqualified-id before 'if' struct tm *gmtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:752:12: error: '___tmp_tm' does not name a type struct tm *gmtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:752:12: error: expected unqualified-id before ')' token struct tm *gmtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:753:12: error: expected unqualified-id before '{' token struct tm *localtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:753:12: error: expected ')' before '{' token C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:753:12: error: expected primary-expression before 'struct' struct tm *localtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:753:12: error: expected '}' before 'struct' C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:753:12: error: expected constructor, destructor, or type conversion before ';' token struct tm *localtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:753:12: error: '___tmp_tm' does not name a type struct tm *localtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:753:12: error: expected unqualified-id before 'if' struct tm *localtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:753:12: error: '___tmp_tm' does not name a type struct tm *localtime_r(const time_t *, struct tm *); ^ C:/msys64/mingw64/include/ruby-2.1.0/ruby/win32.h:753:12: error: expected unqualified-id before ')' token struct tm *localtime_r(const time_t *, struct tm *); ^ In file included from C:/msys64/mingw64/include/ruby-2.1.0/ruby/ruby.h:29:0, from C:/msys64/mingw64/include/ruby-2.1.0/ruby.h:33, from test.cpp:2: C:/msys64/mingw64/include/ruby-2.1.0/ruby/defines.h:321:1: error: expected declaration before '}' token } /* extern "C" { */ ^