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 应该修复它。

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


以上是ChromeV8示例编译错误,如何解决“remove_cv_t”不是“std”的成员?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>