I am currently trying to build Google's V8 engine, following its official documents .
And I get some errors here:
python ../../tools/run.py ./bytecode_builtins_list_generator gen/builtins-generated/bytecodes-builtins-list.h ./bytecode_builtins_list_generator: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./bytecode_builtins_list_generator) Return code is 1 [115/1639] CXX obj/torque_base/torque-parser.o
std::remove_cv_t
template <class T> V8_INLINE void PerformCastCheck(T* data) { CastCheck<std::is_base_of<Data, T>::value && !std::is_same<Data, std::remove_cv_t<T>>::value>::Perform(data); }
When looking into its building procedure, I find it actually uses third_party/llvm-build/Release+Asserts/bin/clang++
with a -std=c++14
flag.
So I am wondering if I can build a V8 engine with some old gcc, like gcc 4.4.6/4.8.5?
Yes, V8 currently requires C++14.
Expect future changes to be in the direction of requiring C++17 (though there's no timeline for that yet), rather than going back to older C++ standards.
Unfortunately, you can't build C++14 code with older gcc.
As here shown , you can build C++14 with gcc 5.0, which is C++14 compliant.
EDIT: Actually it would be easier to download gcc 5.0 on your platform and compile it with your current gcc version and then compile V8 with this newer compiler.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.