ChromeV8示例编译错误,如何解决“remove_cv_t”不是“std”的成员?
我正在尝试使用以下命令运行示例:
g++ -I. -Iinclude samples/hello-world.cc -o hello_world -lv8_monolith -Lout.gn/x64.release/obj/ -lrt -ldl -pthread -std=c++0x -DV8_COMPRESS_POINTERS
但我有错误:
In file included from ./include/v8.h:30:0,
from samples/hello-world.cc:10:
./include/v8-internal.h: In function ‘void v8::internal::PerformCastCheck(T*)’:
./include/v8-internal.h:452:33: error: ‘remove_cv_t’ is not a member of ‘std’
!std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
^
./include/v8-internal.h:452:33: error: ‘remove_cv_t’ is not a member of ‘std’
./include/v8-internal.h:452:50: error: template argument 2 is invalid
!std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
^
./include/v8-internal.h:452:61: error: ‘::Perform’ has not been declared
!std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data);
我真的很想使用 V8 引擎,但我什至无法编译示例。我希望我能得到你的帮助。非常感谢。
回答
-std=c++14
应该修复它。
(不幸的是,官方文档在这个微小但重要的细节中已经过时了。)
THE END
二维码