On Tue, May 19, 2015 at 11:59 AM, miser <[email protected]> wrote: > I just started learning v8, I download and build on OS X Yosemite, but run > hello_world.cpp get some errors. > > terminal: > > g++ -Iinclude hello_world.cpp -o hello_world -Wl,--start-group > out/native/libv8_base.a out/native/libv8_libbase.a > out/native/libv8_snapshot.a out/native/libv8_libplatform.a > out/native/libicuuc.a out/native/libicui18n.a out/native/libicudata.a > -Wl,--end-group -lrt -pthread > > out: > In file included from hello_world.cpp:1: > include/v8.h:336:16: warning: alias declarations are a C++11 extension > [-Wc++11-extensions] > using Handle = Local<T>; > ^ > include/v8.h:352:33: error: use of undeclared identifier 'nullptr' > V8_INLINE MaybeLocal() : val_(nullptr) {} > ^ > include/v8.h:359:51: error: use of undeclared identifier 'nullptr' > V8_INLINE bool IsEmpty() const { return val_ == nullptr; } > ^ > include/v8.h:363:29: error: use of undeclared identifier 'nullptr' > out->val_ = IsEmpty() ? nullptr : this->val_; > ^ > include/v8.h:429:50: error: use of undeclared identifier 'nullptr' > bool IsFirstPass() const { return callback_ != nullptr; } > ^ > include/v8.h:468:29: warning: alias declarations are a C++11 extension > [-Wc++11-extensions] > using PhantomCallbackData = WeakCallbackInfo<T>; > ^ > include/v8.h:471:6: warning: scoped enumerations are a C++11 extension > [-Wc++11-extensions] > enum class WeakCallbackType { kParameter, kInternalFields }; > ^ > include/v8.h:634:43: warning: deleted function definitions are a C++11 > extension > [-Wc++11-extensions] > PersistentBase(PersistentBase& other) = delete; // NOLINT > ^ > include/v8.h:635:37: warning: deleted function definitions are a C++11 > extension > [-Wc++11-extensions] > void operator=(PersistentBase&) = delete; > ^ > include/v8.h:810:26: warning: rvalue references are a C++11 extension > [-Wc++11-extensions] > V8_INLINE Global(Global&& other) : PersistentBase<T>(other.val_) { > ^ > include/v8.h:818:40: warning: rvalue references are a C++11 extension > [-Wc++11-extensions] > V8_INLINE Global& operator=(Global<S>&& rhs) { > ^ > include/v8.h:838:21: warning: deleted function definitions are a C++11 > extension > [-Wc++11-extensions] > Global(Global&) = delete; > ^ > include/v8.h:839:29: warning: deleted function definitions are a C++11 > extension > [-Wc++11-extensions] > void operator=(Global&) = delete; > ^ > include/v8.h:786:42: error: use of undeclared identifier 'nullptr' > V8_INLINE Global() : PersistentBase<T>(nullptr) {} > ^ > include/v8.h:811:18: error: use of undeclared identifier 'nullptr' > other.val_ = nullptr; > ^ > include/v8.h:823:18: error: use of undeclared identifier 'nullptr' > rhs.val_ = nullptr; > ^ > include/v8.h:830:44: warning: rvalue references are a C++11 extension > [-Wc++11-extensions] > Global Pass() { return static_cast<Global&&>(*this); } > ^ > include/v8.h:845:26: warning: alias declarations are a C++11 extension > [-Wc++11-extensions] > using UniquePersistent = Global<T>; > ^ > include/v8.h:1061:52: error: use of undeclared identifier 'nullptr' > ScriptOrigin* origin = nullptr)); > ^ > include/v8config.h:331:48: note: expanded from macro 'V8_DEPRECATE_SOON' > #define V8_DEPRECATE_SOON(message, declarator) declarator > ^ > In file included from hello_world.cpp:1: > include/v8.h:1064:30: error: use of undeclared identifier 'nullptr' > ScriptOrigin* origin = nullptr); > ^ > include/v8.h:2022:6: warning: scoped enumerations are a C++11 extension > [-Wc++11-extensions] > enum class NewStringType { kNormal, kInternalized }; > ^ > include/v8.h:2230:42: error: 'v8::NewStringType' is not a class, namespace, > or > scoped enumeration > kNormalString = static_cast<int>(v8::NewStringType::kNormal), > ^ > include/v8.h:2231:48: error: 'v8::NewStringType' is not a class, namespace, > or > scoped enumeration > kInternalizedString = static_cast<int>(v8::NewStringType::kInternalized) > ^ > include/v8.h:3083:36: error: use of undeclared identifier 'nullptr' > return NewInstance(context, 0, nullptr); > ^ > include/v8.h:3228:6: warning: scoped enumerations are a C++11 extension > [-Wc++11-extensions] > enum class ArrayBufferCreationMode { kInternalized, kExternalized }; > ^ > include/v8.h:3312:38: error: 'v8::ArrayBufferCreationMode' is not a class, > namespace, or scoped enumeration > ArrayBufferCreationMode mode = > ArrayBufferCreationMode::kExternalized); > ^ > include/v8.h:4199:6: warning: scoped enumerations are a C++11 extension > [-Wc++11-extensions] > enum class PropertyHandlerFlags { > ^ > include/v8.h:4221:36: error: 'v8::PropertyHandlerFlags' is not a class, > namespace, or scoped enumeration > PropertyHandlerFlags flags = PropertyHandlerFlags::kNone) > ^ > include/v8.h:4249:36: error: 'v8::PropertyHandlerFlags' is not a class, > namespace, or scoped enumeration > PropertyHandlerFlags flags = PropertyHandlerFlags::kNone) > ^ > include/v8.h:6866:27: error: use of undeclared identifier 'nullptr' > if (V8_UNLIKELY(val_ == nullptr)) V8::ToLocalEmpty(); > ^ > include/v8config.h:336:54: note: expanded from macro 'V8_UNLIKELY' > # define V8_UNLIKELY(condition) (__builtin_expect(!!(condition), 0)) > ^ > In file included from hello_world.cpp:1: > include/v8.h:7297:46: error: 'v8::NewStringType' is not a class, namespace, > or > scoped enumeration > Set(v8::String::NewFromUtf8(isolate, name, NewStringType::kNormal) > ^ > hello_world.cpp:8:15: error: calling a protected constructor of class > 'v8::HandleScope' > HandleScope handle_scope; > ^ > include/v8.h:878:13: note: declared protected here > V8_INLINE HandleScope() {} > ^ > hello_world.cpp:38:1: error: unknown type name 'g' > g++ -Iinclude hello_world.cpp -o hello_world -Wl,--start-group out/nativ... > ^ > fatal error: too many errors emitted, stopping now [-ferror-limit=] > 14 warnings and 20 errors generated.
Pass -std=c++11 or -std=c++0x to g++. V8 is a C++11 project. -- -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
