Open
Description
I using electron and when I run electron-rebuild
command it shows such error:
CXX(target) Release/obj.target/msgpackBinding/src/msgpack.o
In file included from /home/pi/.electron-gyp/11.2.3/include/node/v8.h:30,
from ../src/msgpack.cc:1:
/home/pi/.electron-gyp/11.2.3/include/node/v8-internal.h: In function ‘void v8::internal::PerformCastCheck(T*)’:
/home/pi/.electron-gyp/11.2.3/include/node/v8-internal.h:418:38: error: ‘remove_cv_t’ is not a member of ‘std’
!std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
^~~~~~~~~~~
/home/pi/.electron-gyp/11.2.3/include/node/v8-internal.h:418:38: note: suggested alternative: ‘remove_cv’
!std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
^~~~~~~~~~~
remove_cv
/home/pi/.electron-gyp/11.2.3/include/node/v8-internal.h:418:38: error: ‘remove_cv_t’ is not a member of ‘std’
/home/pi/.electron-gyp/11.2.3/include/node/v8-internal.h:418:38: note: suggested alternative: ‘remove_cv’
!std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
^~~~~~~~~~~
remove_cv
/home/pi/.electron-gyp/11.2.3/include/node/v8-internal.h:418:50: error: template argument 2 is invalid
!std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
^
/home/pi/.electron-gyp/11.2.3/include/node/v8-internal.h:418:63: error: ‘::Perform’ has not been declared
!std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
^~~~~~~
/home/pi/.electron-gyp/11.2.3/include/node/v8-internal.h:418:63: note: suggested alternative: ‘perror’
!std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
^~~~~~~
perror
This issue appears because we have -std=c++11
flag in binding.gyp
file:
'cflags_cc': [
'-Wall',
'-O3',
'-std=c++11',
],
Changing this flag to -std=c++14
or removing it fixes the issue.
I am working on linux with gcc-8.
Metadata
Metadata
Assignees
Labels
No labels