libplatform currently does not support dynamic linking. On Tue, Sep 20, 2016 at 7:43 PM Andre Cunha <andre.lv.cu...@gmail.com> wrote:
> Hello, > > I'm trying to dynamically load libplatform in an application I'm writing. > I searched through the available gn options, but I couldn't find an option > to build libplatform as a shared object, so I did it by hand: > > $ gcc -shared -o libv8_libplatform.so obj/v8_lib{platform,base}/*.o > > I use this both in debug and in release mode, but when I link my > application against libplatform in release mode, I get "undefined reference > to `v8::platform::CreateDefaultPlatform(int)`". This doesn't happen in > debug mode. After some investigation, I realized that the aforementioned > function is exported in debug mode, but is hidden in release mode: > > # Debug > $ nm -C libv8_libplatform.so | grep CreateDefaultPlatform > 000000000001ad70 *T* v8::platform::CreateDefaultPlatform(int) > > # Release > $ nm -C libv8_libplatform.so | grep CreateDefaultPlatform > 0000000000003b20 *t* v8::platform::CreateDefaultPlatform(int) > > I inspected the ninja files, and realized this happens because object > files are compiled with -fvisibility=default in debug mode, and with > -fvisibility=hidden in release mode. > > So, my question is: is this function not supposed to be used in release > applications? Should I, then, link statically against the many individual > .o files needed (as the hello-world.cc example does)? If so, what's the > best way to do this? > > Thanks in advance, > Andre > > -- > -- > 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. > For more options, visit https://groups.google.com/d/optout. > -- -- 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. For more options, visit https://groups.google.com/d/optout.