Chrome V8示例编译错误,如何解决"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应该修复它。

(不幸的是,官方文件在这个微小但重要的细节上已经过时了。(

最新更新