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/CAKSzg3QznZ_GuHkRG8mHpmUsS%2BPWV8JNrBBW5kEEUydNoh7Lgg%40mail.gmail.com.

Reply via email to