Okay. I'll try to link statically, then.

Thank you!
Andre

On Wednesday, September 21, 2016 at 5:52:12 AM UTC-3, Jochen Eisinger wrote:
>
> I filed https://bugs.chromium.org/p/v8/issues/detail?id=5412 as feature 
> request
>
> On Wed, Sep 21, 2016 at 10:50 AM Jochen Eisinger <joc...@chromium.org 
> <javascript:>> wrote:
>
>> libplatform currently does not support dynamic linking.
>>
>> On Tue, Sep 20, 2016 at 7:43 PM Andre Cunha <andre.l...@gmail.com 
>> <javascript:>> 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-u...@googlegroups.com <javascript:>
>>> 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+u...@googlegroups.com <javascript:>.
>>> 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.

Reply via email to