I'm trying to link to a V8 library (v8_base.lib) that I've compiled in Visual Studio 2008 with the /MDd option. When I link to it from another library I get errors like:
Error 4 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::size_" (?size_@Snapshot@internal@v8@@0HB) v8_base.lib myapp
How can I resolve these issues?
(List of all errors)
Error 1 error LNK2019: unresolved external symbol "public: static int __cdecl v8::internal::NativesCollection<0>::GetBuiltinsCount(void)" (?GetBuiltinsCount@?$NativesCollection@$0A@@internal@v8@@SAHXZ) referenced in function "private: bool __thiscall v8::internal::Heap::CreateInitialObjects(void)" (?CreateInitialObjects@H开发者_如何学Ceap@internal@v8@@AAE_NXZ) v8_base.lib pconn
Error 2 error LNK2001: unresolved external symbol "public: static int __cdecl v8::internal::NativesCollection<0>::GetBuiltinsCount(void)" (?GetBuiltinsCount@?$NativesCollection@$0A@@internal@v8@@SAHXZ) v8_base.lib pconn
Error 3 error LNK2001: unresolved external symbol "public: static int __cdecl v8::internal::NativesCollection<0>::GetBuiltinsCount(void)" (?GetBuiltinsCount@?$NativesCollection@$0A@@internal@v8@@SAHXZ) v8_base.lib pconn
Error 4 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::size_" (?size_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 5 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::size_" (?size_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 6 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::size_" (?size_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 7 error LNK2001: unresolved external symbol "private: static unsigned char const * const v8::internal::Snapshot::raw_data_" (?raw_data_@Snapshot@internal@v8@@0PBEB) v8_base.lib pconn
Error 8 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::raw_size_" (?raw_size_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 9 error LNK2001: unresolved external symbol "private: static unsigned char const * const v8::internal::Snapshot::context_raw_data_" (?context_raw_data_@Snapshot@internal@v8@@0PBEB) v8_base.lib pconn
Error 10 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::context_raw_size_" (?context_raw_size_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 11 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::new_space_used_" (?new_space_used_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 12 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::pointer_space_used_" (?pointer_space_used_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 13 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::data_space_used_" (?data_space_used_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 14 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::code_space_used_" (?code_space_used_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 15 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::map_space_used_" (?map_space_used_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 16 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::cell_space_used_" (?cell_space_used_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 17 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::large_space_used_" (?large_space_used_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 18 error LNK2001: unresolved external symbol "private: static int const v8::internal::Snapshot::context_size_" (?context_size_@Snapshot@internal@v8@@0HB) v8_base.lib pconn
Error 19 error LNK2019: unresolved external symbol "public: static class v8::internal::Vector<char const > __cdecl v8::internal::NativesCollection<0>::GetRawScriptSource(int)" (?GetRawScriptSource@?$NativesCollection@$0A@@internal@v8@@SA?AV?$Vector@$$CBD@23@H@Z) referenced in function "public: class v8::internal::Handle<class v8::internal::String> __thiscall v8::internal::Bootstrapper::NativesSourceLookup(int)" (?NativesSourceLookup@Bootstrapper@internal@v8@@QAE?AV?$Handle@VString@internal@v8@@@23@H@Z) v8_base.lib pconn
Error 20 error LNK2001: unresolved external symbol "public: static class v8::internal::Vector<char const > __cdecl v8::internal::NativesCollection<0>::GetRawScriptSource(int)" (?GetRawScriptSource@?$NativesCollection@$0A@@internal@v8@@SA?AV?$Vector@$$CBD@23@H@Z) v8_base.lib pconn
Error 21 error LNK2019: unresolved external symbol "public: static class v8::internal::Vector<char const > __cdecl v8::internal::NativesCollection<0>::GetScriptName(int)" (?GetScriptName@?$NativesCollection@$0A@@internal@v8@@SA?AV?$Vector@$$CBD@23@H@Z) referenced in function "private: static bool __cdecl v8::internal::Genesis::CompileBuiltin(class v8::internal::Isolate *,int)" (?CompileBuiltin@Genesis@internal@v8@@CA_NPAVIsolate@23@H@Z) v8_base.lib pconn
Error 22 error LNK2001: unresolved external symbol "public: static class v8::internal::Vector<char const > __cdecl v8::internal::NativesCollection<0>::GetScriptName(int)" (?GetScriptName@?$NativesCollection@$0A@@internal@v8@@SA?AV?$Vector@$$CBD@23@H@Z) v8_base.lib pconn
Error 23 error LNK2019: unresolved external symbol "public: static class v8::internal::Vector<char const > __cdecl v8::internal::NativesCollection<1>::GetRawScriptSource(int)" (?GetRawScriptSource@?$NativesCollection@$00@internal@v8@@SA?AV?$Vector@$$CBD@23@H@Z) referenced in function "private: static bool __cdecl v8::internal::Genesis::CompileExperimentalBuiltin(class v8::internal::Isolate *,int)" (?CompileExperimentalBuiltin@Genesis@internal@v8@@CA_NPAVIsolate@23@H@Z) v8_base.lib pconn
Error 24 error LNK2019: unresolved external symbol "public: static class v8::internal::Vector<char const > __cdecl v8::internal::NativesCollection<1>::GetScriptName(int)" (?GetScriptName@?$NativesCollection@$00@internal@v8@@SA?AV?$Vector@$$CBD@23@H@Z) referenced in function "private: static bool __cdecl v8::internal::Genesis::CompileExperimentalBuiltin(class v8::internal::Isolate *,int)" (?CompileExperimentalBuiltin@Genesis@internal@v8@@CA_NPAVIsolate@23@H@Z) v8_base.lib pconn
Error 25 error LNK2019: unresolved external symbol "public: static int __cdecl v8::internal::NativesCollection<0>::GetDebuggerCount(void)" (?GetDebuggerCount@?$NativesCollection@$0A@@internal@v8@@SAHXZ) referenced in function "private: bool __thiscall v8::internal::Genesis::InstallNatives(void)" (?InstallNatives@Genesis@internal@v8@@AAE_NXZ) v8_base.lib pconn
Error 26 error LNK2019: unresolved external symbol "public: static int __cdecl v8::internal::NativesCollection<1>::GetBuiltinsCount(void)" (?GetBuiltinsCount@?$NativesCollection@$00@internal@v8@@SAHXZ) referenced in function "private: bool __thiscall v8::internal::Genesis::InstallExperimentalNatives(void)" (?InstallExperimentalNatives@Genesis@internal@v8@@AAE_NXZ) v8_base.lib pconn
Error 27 error LNK2019: unresolved external symbol "public: static int __cdecl v8::internal::NativesCollection<1>::GetDebuggerCount(void)" (?GetDebuggerCount@?$NativesCollection@$00@internal@v8@@SAHXZ) referenced in function "private: bool __thiscall v8::internal::Genesis::InstallExperimentalNatives(void)" (?InstallExperimentalNatives@Genesis@internal@v8@@AAE_NXZ) v8_base.lib pconn
Error 28 error LNK2019: unresolved external symbol "public: static int __cdecl v8::internal::NativesCollection<0>::GetIndex(char const *)" (?GetIndex@?$NativesCollection@$0A@@internal@v8@@SAHPBD@Z) referenced in function "public: bool __thiscall v8::internal::Debug::Load(void)" (?Load@Debug@internal@v8@@QAE_NXZ) v8_base.lib pconn
The solution is to add the v8_nosnapshot
project to your project and have v8_base depend on it. This will resolve all of these errors.
精彩评论