Hello. I have been trying to upgrade my code from V8 v7.1 to 7.8. I'm using V8 version 7.8.279, which I'm picking from git branch 7.8.279 (please tell me if this is the wrong way to do it!).
I'm using v8gen.py to perform the build, and passing these arguments (via v8gen) to "gn" treat_warnings_as_errors=false is_component_build=true v8_enable_i18n_support=false v8_use_snapshot=true I invoke ninja as follows. I cite specific targets here, because one of the testing-related targets fails to build on my system. ninja -C out.gn/x64.release v8 v8_libbase v8_libplatform >From this build, I get '.lib' and '.dll' files as expected, and I dynamic link my own code to V8 using the lib files: "v8.dll.lib" "v8_libbase.dll.lib" "v8_libplatform.dll.lib". I've updated all of my code to conform with the API changes between V8 7.1 and V8 7.8. During linking, I get the following errors below. I note that this all works fine on V8 7.1, but I tried 7.6, and 7.7 with very similar results. I would appreciate any advice. Thanks a bunch! Ben 1>------ Build started: Project: my-library, Configuration: Release x64 ------ 1> Creating library C:\my-local-path\Release\x64\my-library.lib and object C:\my-local-path\Release\x64\my-library.exp 1>my-library_ezisolate.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::ResourceConstraints::ResourceConstraints(void)" (__imp_??0ResourceConstraints@v8@@QEAA@XZ) referenced in function "public: __cdecl my-library::ezIsolate::Impl::Impl(void)" (??0Impl@ezIsolate@my-library@@QEAA@XZ) 1>my-library_ezisolate.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl v8::HeapStatistics::total_heap_size(void)" (__imp_?total_heap_size@HeapStatistics@v8@@QEAA_KXZ) referenced in function "public: void __cdecl <lambda_d102acd0644adf8202f9bd6890bc9ee0>::operator()(struct appsvcs::async::CancellationToken const &)const " (??R<lambda_d102acd0644adf8202f9bd6890bc9ee0>@@QEBAXAEBUCancellationToken@async@appsvcs@@@Z) 1>my-library_ezisolate.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl v8::HeapStatistics::total_physical_size(void)" (__imp_?total_physical_size@HeapStatistics@v8@@QEAA_KXZ) referenced in function "public: void __cdecl <lambda_d102acd0644adf8202f9bd6890bc9ee0>::operator()(struct appsvcs::async::CancellationToken const &)const " (??R<lambda_d102acd0644adf8202f9bd6890bc9ee0>@@QEBAXAEBUCancellationToken@async@appsvcs@@@Z) 1>my-library_ezisolate.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: unsigned __int64 __cdecl v8::HeapStatistics::used_heap_size(void)" (__imp_?used_heap_size@HeapStatistics@v8@@QEAA_KXZ) referenced in function "public: void __cdecl <lambda_d102acd0644adf8202f9bd6890bc9ee0>::operator()(struct appsvcs::async::CancellationToken const &)const " (??R<lambda_d102acd0644adf8202f9bd6890bc9ee0>@@QEBAXAEBUCancellationToken@async@appsvcs@@@Z) 1>my-library_ezisolate.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::Isolate::Scope::Scope(class v8::Isolate *)" (__imp_??0Scope@Isolate@v8@@QEAA@PEAV12@@Z) referenced in function "public: void __cdecl my-library::ezIsolate::AttatchDebugger(class my-library::Ezv8 *)" (?AttatchDebugger@ezIsolate@my-library@@QEAAXPEAVEzv8@2@@Z) 1>my-library_my-library.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::Isolate::Scope::Scope(class v8::Isolate *)" (__imp_??0Scope@Isolate@v8@@QEAA@PEAV12@@Z) 1>my-library_ffiwrapper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::Isolate::Scope::Scope(class v8::Isolate *)" (__imp_??0Scope@Isolate@v8@@QEAA@PEAV12@@Z) 1>my-library_utility.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::Isolate::Scope::Scope(class v8::Isolate *)" (__imp_??0Scope@Isolate@v8@@QEAA@PEAV12@@Z) 1>my-library_ezisolate.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::Isolate::Scope::~Scope(void)" (__imp_??1Scope@Isolate@v8@@QEAA@XZ) referenced in function "public: void __cdecl my-library::ezIsolate::AttatchDebugger(class my-library::Ezv8 *)" (?AttatchDebugger@ezIsolate@my-library@@QEAAXPEAVEzv8@2@@Z) 1>my-library_my-library.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::Isolate::Scope::~Scope(void)" (__imp_??1Scope@Isolate@v8@@QEAA@XZ) 1>my-library_ffiwrapper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::Isolate::Scope::~Scope(void)" (__imp_??1Scope@Isolate@v8@@QEAA@XZ) 1>my-library_utility.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::Isolate::Scope::~Scope(void)" (__imp_??1Scope@Isolate@v8@@QEAA@XZ) 1>my-library_my-library.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::EscapableHandleScope::~EscapableHandleScope(void)" (__imp_??1EscapableHandleScope@v8@@QEAA@XZ) referenced in function "int `public: __cdecl my-library::Ezv8::Impl::Impl(class v8::Isolate *,bool)'::`1'::dtor$11" (?dtor$11@?0???0Impl@Ezv8@my-library@@QEAA@PEAVIsolate@v8@@_N@Z@4HA) 1>my-library_utility.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::EscapableHandleScope::~EscapableHandleScope(void)" (__imp_??1EscapableHandleScope@v8@@QEAA@XZ) 1>my-library_weakhandle.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::EscapableHandleScope::~EscapableHandleScope(void)" (__imp_??1EscapableHandleScope@v8@@QEAA@XZ) 1>my-library_my-library.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: char * __cdecl v8::String::Utf8Value::operator*(void)" (__imp_??DUtf8Value@String@v8@@QEAAPEADXZ) referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl my-library::convert::To<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >(class v8::Isolate *,class v8::Local<class v8::Value>)" (??$To@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@convert@my-library@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVIsolate@v8@@V?$Local@VValue@v8@@@5@@Z) 1>my-library_ffiwrapper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: char * __cdecl v8::String::Utf8Value::operator*(void)" (__imp_??DUtf8Value@String@v8@@QEAAPEADXZ) 1>my-library_trycatch.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: char * __cdecl v8::String::Utf8Value::operator*(void)" (__imp_??DUtf8Value@String@v8@@QEAAPEADXZ) 1>my-library_utility.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: char * __cdecl v8::String::Utf8Value::operator*(void)" (__imp_??DUtf8Value@String@v8@@QEAAPEADXZ) 1>my-library_platform.obj : error LNK2019: unresolved external symbol "class std::unique_ptr<class v8::Platform,struct std::default_delete<class v8::Platform> > __cdecl v8::platform::NewDefaultPlatform(int,enum v8::platform::IdleTaskSupport,enum v8::platform::InProcessStackDumping,class std::unique_ptr<class v8::TracingController,struct std::default_delete<class v8::TracingController> >)" (?NewDefaultPlatform@platform@v8@@YA?AV?$unique_ptr@VPlatform@v8@@U?$default_delete@VPlatform@v8@@@std@@@std@@HW4IdleTaskSupport@12@W4InProcessStackDumping@12@V?$unique_ptr@VTracingController@v8@@U?$default_delete@VTracingController@v8@@@std@@@4@@Z) referenced in function "public: __cdecl my-library::Platform::Impl::Impl(void)" (??0Impl@Platform@my-library@@QEAA@XZ) 1>node_inspector_agent.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class std::unique_ptr<class v8_inspector::StringBuffer,struct std::default_delete<class v8_inspector::StringBuffer> > __cdecl v8_inspector::StringBuffer::create(class v8_inspector::StringView const &)" (__imp_?create@StringBuffer@v8_inspector@@SA?AV?$unique_ptr@VStringBuffer@v8_inspector@@U?$default_delete@VStringBuffer@v8_inspector@@@std@@@std@@AEBVStringView@2@@Z) referenced in function "class std::unique_ptr<class v8_inspector::StringBuffer,struct std::default_delete<class v8_inspector::StringBuffer> > __cdecl inspector::`anonymous namespace'::ToProtocolString(class v8::Isolate *,class v8::Local<class v8::Value>)" (?ToProtocolString@?A0x4d94dc07@inspector@@YA?AV?$unique_ptr@VStringBuffer@v8_inspector@@U?$default_delete@VStringBuffer@v8_inspector@@@std@@@std@@PEAVIsolate@v8@@V?$Local@VValue@v8@@@6@@Z) 1>node_inspector_io.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class std::unique_ptr<class v8_inspector::StringBuffer,struct std::default_delete<class v8_inspector::StringBuffer> > __cdecl v8_inspector::StringBuffer::create(class v8_inspector::StringView const &)" (__imp_?create@StringBuffer@v8_inspector@@SA?AV?$unique_ptr@VStringBuffer@v8_inspector@@U?$default_delete@VStringBuffer@v8_inspector@@@std@@@std@@AEBVStringView@2@@Z) 1>node_inspector_agent.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl v8_inspector::V8InspectorClient::~V8InspectorClient(void)" (__imp_??1V8InspectorClient@v8_inspector@@UEAA@XZ) referenced in function "public: virtual void * __cdecl inspector::CBInspectorClient::`scalar deleting destructor'(unsigned int)" (??_GCBInspectorClient@inspector@@UEAAPEAXI@Z) 1>node_inspector_agent.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl v8_inspector::V8InspectorClient::V8InspectorClient(void)" (__imp_??0V8InspectorClient@v8_inspector@@QEAA@XZ) referenced in function "public: bool __cdecl inspector::Agent::Start(class v8::Isolate *,class v8::Platform *,char const *)" (?Start@Agent@inspector@@QEAA_NPEAVIsolate@v8@@PEAVPlatform@4@PEBD@Z) 1>node_inspector_agent.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static class std::unique_ptr<class v8_inspector::V8Inspector,struct std::default_delete<class v8_inspector::V8Inspector> > __cdecl v8_inspector::V8Inspector::create(class v8::Isolate *,class v8_inspector::V8InspectorClient *)" (__imp_?create@V8Inspector@v8_inspector@@SA?AV?$unique_ptr@VV8Inspector@v8_inspector@@U?$default_delete@VV8Inspector@v8_inspector@@@std@@@std@@PEAVIsolate@v8@@PEAVV8InspectorClient@2@@Z) referenced in function "public: bool __cdecl inspector::Agent::Start(class v8::Isolate *,class v8::Platform *,char const *)" (?Start@Agent@inspector@@QEAA_NPEAVIsolate@v8@@PEAVPlatform@4@PEBD@Z) 1>node_inspector_agent.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl v8_inspector::V8Inspector::Channel::~Channel(void)" (__imp_??1Channel@V8Inspector@v8_inspector@@UEAA@XZ) referenced in function "public: __cdecl std::unique_ptr<class inspector::`anonymous namespace'::ChannelImpl,struct std::default_delete<class inspector::`anonymous namespace'::ChannelImpl> >::~unique_ptr<class inspector::`anonymous namespace'::ChannelImpl,struct std::default_delete<class inspector::`anonymous namespace'::ChannelImpl> >(void)" (??1?$unique_ptr@VChannelImpl@?A0x4d94dc07@inspector@@U?$default_delete@VChannelImpl@?A0x4d94dc07@inspector@@@std@@@std@@QEAA@XZ) 1>node_inspector_agent.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl v8_inspector::V8Inspector::Channel::Channel(void)" (__imp_??0Channel@V8Inspector@v8_inspector@@QEAA@XZ) referenced in function "public: void __cdecl inspector::Agent::Connect(class inspector::InspectorSessionDelegate *)" (?Connect@Agent@inspector@@QEAAXPEAVInspectorSessionDelegate@2@@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::beginEnsureAllContextsInGroup(int)" (?beginEnsureAllContextsInGroup@V8InspectorClient@v8_inspector@@UEAAXH@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::beginUserGesture(void)" (?beginUserGesture@V8InspectorClient@v8_inspector@@UEAAXXZ) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl v8_inspector::V8InspectorClient::canExecuteScripts(int)" (?canExecuteScripts@V8InspectorClient@v8_inspector@@UEAA_NH@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::cancelTimer(void *)" (?cancelTimer@V8InspectorClient@v8_inspector@@UEAAXPEAX@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::consoleAPIMessage(int,enum v8::Isolate::MessageErrorLevel,class v8_inspector::StringView const &,class v8_inspector::StringView const &,unsigned int,unsigned int,class v8_inspector::V8StackTrace *)" (?consoleAPIMessage@V8InspectorClient@v8_inspector@@UEAAXHW4MessageErrorLevel@Isolate@v8@@AEBVStringView@2@1IIPEAVV8StackTrace@2@@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::consoleClear(int)" (?consoleClear@V8InspectorClient@v8_inspector@@UEAAXH@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::consoleTime(class v8_inspector::StringView const &)" (?consoleTime@V8InspectorClient@v8_inspector@@UEAAXAEBVStringView@2@@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::consoleTimeEnd(class v8_inspector::StringView const &)" (?consoleTimeEnd@V8InspectorClient@v8_inspector@@UEAAXAEBVStringView@2@@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::consoleTimeStamp(class v8_inspector::StringView const &)" (?consoleTimeStamp@V8InspectorClient@v8_inspector@@UEAAXAEBVStringView@2@@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::endEnsureAllContextsInGroup(int)" (?endEnsureAllContextsInGroup@V8InspectorClient@v8_inspector@@UEAAXH@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::endUserGesture(void)" (?endUserGesture@V8InspectorClient@v8_inspector@@UEAAXXZ) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl v8_inspector::V8InspectorClient::formatAccessorsAsProperties(class v8::Local<class v8::Value>)" (?formatAccessorsAsProperties@V8InspectorClient@v8_inspector@@UEAA_NV?$Local@VValue@v8@@@v8@@@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::installAdditionalCommandLineAPI(class v8::Local<class v8::Context>,class v8::Local<class v8::Object>)" (?installAdditionalCommandLineAPI@V8InspectorClient@v8_inspector@@UEAAXV?$Local@VContext@v8@@@v8@@V?$Local@VObject@v8@@@4@@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl v8_inspector::V8InspectorClient::isInspectableHeapObject(class v8::Local<class v8::Object>)" (?isInspectableHeapObject@V8InspectorClient@v8_inspector@@UEAA_NV?$Local@VObject@v8@@@v8@@@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::maxAsyncCallStackDepthChanged(int)" (?maxAsyncCallStackDepthChanged@V8InspectorClient@v8_inspector@@UEAAXH@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual class v8::MaybeLocal<class v8::Value> __cdecl v8_inspector::V8InspectorClient::memoryInfo(class v8::Isolate *,class v8::Local<class v8::Context>)" (?memoryInfo@V8InspectorClient@v8_inspector@@UEAA?AV?$MaybeLocal@VValue@v8@@@v8@@PEAVIsolate@4@V?$Local@VContext@v8@@@4@@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::muteMetrics(int)" (?muteMetrics@V8InspectorClient@v8_inspector@@UEAAXH@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual class std::unique_ptr<class v8_inspector::StringBuffer,struct std::default_delete<class v8_inspector::StringBuffer> > __cdecl v8_inspector::V8InspectorClient::resourceNameToUrl(class v8_inspector::StringView const &)" (?resourceNameToUrl@V8InspectorClient@v8_inspector@@UEAA?AV?$unique_ptr@VStringBuffer@v8_inspector@@U?$default_delete@VStringBuffer@v8_inspector@@@std@@@std@@AEBVStringView@2@@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::runIfWaitingForDebugger(int)" (?runIfWaitingForDebugger@V8InspectorClient@v8_inspector@@UEAAXH@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::startRepeatingTimer(double,void (__cdecl*)(void *),void *)" (?startRepeatingTimer@V8InspectorClient@v8_inspector@@UEAAXNP6AXPEAX@Z0@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl v8_inspector::V8InspectorClient::unmuteMetrics(int)" (?unmuteMetrics@V8InspectorClient@v8_inspector@@UEAAXH@Z) 1>node_inspector_agent.obj : error LNK2001: unresolved external symbol "public: virtual class std::unique_ptr<class v8_inspector::StringBuffer,struct std::default_delete<class v8_inspector::StringBuffer> > __cdecl v8_inspector::V8InspectorClient::valueSubtype(class v8::Local<class v8::Value>)" (?valueSubtype@V8InspectorClient@v8_inspector@@UEAA?AV?$unique_ptr@VStringBuffer@v8_inspector@@U?$default_delete@VStringBuffer@v8_inspector@@@std@@@std@@V?$Local@VValue@v8@@@v8@@@Z) 1>C:\my-local-path\Release\x64\my-library.dll : fatal error LNK1120: 37 unresolved externals 1>Done building project "my-library.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== -- -- v8-users mailing list v8-users@googlegroups.com 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 v8-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-users/5a0f817c-6e22-4699-a3a2-0f3d4368feae%40googlegroups.com.