Thanks Hans, I'm sure I tried that before, but I'll give that a shot again. Ben.
On Monday, 4 November 2019 17:46:08 UTC+10:30, Hans Maier wrote: > > Hi, > > the libc provided together with v8 is incompatible with the msvc-libc. > I had to provide "use_custom_libcxx=false" to be able to link it with my > own program. > > > Am Sonntag, 3. November 2019 12:43:57 UTC+1 schrieb Ben Ernst: >> >> Of note, the sample utilities "d8" and "v8_hello_world" build fine, and >> they don't get this same linker error. I can't see anything I'm doing >> differently, however. >> >> On Sunday, 3 November 2019 22:08:27 UTC+10:30, Ben Ernst wrote: >>> >>> Thanks Jakob, is there by any chance a correpsonding buildbot for >>> Windows and MSVC++? I get this linker error from it seems V8 7.2 onwards, >>> although I'm focussing on 7.8. The "monolith" build seems to be working >>> though. I wonder if it's an MSVC++ peculiarity that is tripping me up? >>> Regards, >>> Ben >>> >>> On Saturday, 2 November 2019 02:17:38 UTC+10:30, Jakob Kummerow wrote: >>>> >>>> Yes, the component build is expected to work for every version, and our >>>> buildbot thinks it does: >>>> https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20-%20shared >>>> >>>> The component build is also the default in Debug mode, which most V8 >>>> developers compile/use every day. >>>> >>>> >>>> On Fri, Nov 1, 2019 at 1:00 AM Ben Ernst <boi...@gmail.com> wrote: >>>> >>>>> Is the idea of a "component build", where you specify >>>>> "is_component_build=true" in the arguments to GN, actually supposed to >>>>> work >>>>> at all in V8 (v7.8)? >>>>> >>>>> In particular, I am getting this unresolved external symbol: >>>>> >>>>> 1>ezv8_platform.obj : error LNK2019: unresolved external symbol >>>>> "__declspec(dllimport) 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> >)" >>>>> (__imp_?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 ezv8::Platform::Impl::Impl(void)" >>>>> (??0Impl@Platform@ezv8@@QEAA@XZ) >>>>> >>>>> The function "NewDefaultPlatform" seems to be exported from >>>>> v8_libplatform. >>>>> >>>>> V8_PLATFORM_EXPORT std::unique_ptr<v8::Platform> NewDefaultPlatform( >>>>> int thread_pool_size = 0, >>>>> IdleTaskSupport idle_task_support = IdleTaskSupport::kDisabled, >>>>> InProcessStackDumping in_process_stack_dumping = >>>>> InProcessStackDumping::kDisabled, >>>>> std::unique_ptr<v8::TracingController> tracing_controller = {}); >>>>> >>>>> But the destructor of the base class, v8::Platform is not exported. >>>>> >>>>> /** >>>>> * V8 Platform abstraction layer. >>>>> * >>>>> * The embedder has to provide an implementation of this interface >>>>> before >>>>> * initializing the rest of V8. >>>>> */ >>>>> class Platform { >>>>> public: >>>>> virtual ~Platform() = default; >>>>> >>>>> >>>>> I think that's the cause of the error above, although I may have >>>>> misinterpreted the error message. >>>>> >>>>> Am I barking up the wrong tree by trying to use the component build at >>>>> all? >>>>> >>>>> Thanks in advance for any advice. >>>>> >>>>> >>>>> >>>>> -- -- 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/6ac7f191-a70b-47ed-8410-c48835e78fdf%40googlegroups.com.