Thank you for your reply. It is currently found that when I upgrade v8 to 6.8, the dynamic_cast function of my other dynamic library will call the has_unambiguous_public_base function in the v8 library. Normally, the C ++ standard library should be called. This phenomenon is very strange. I Compile the monolith version into multiple libraries according to the previous compilation method. Use the following command
*`gn gen out.gn/x64.release <http://out.gn/x64.release> --args='is_debug=false target_cpu="x64" v8_static_library=true v8_use_external_startup_data=false'``ninja -C out.gn/x64.release` <http://out.gn/x64.release>* However, when the v8 library is introduced into the program, a link error occurs. Some symbols like c ++ abi cannot be linked. do my compilation commands need to be modified? 在 2020年2月28日星期五 UTC+8下午7:14:25,Ben Noordhuis写道: > > On Fri, Feb 28, 2020 at 4:05 AM YQ Tian <tianyuq...@gmail.com > <javascript:>> wrote: > > > > v8 version 6.8.275.32 > > > > Hi all! > > > > > > When I upgrade the v8 version, my program crashes. My program statically > links the v8 library and also uses another dynamic library. The dynamic > library will call the dynamic_cast function, to see the crash stack of the > program. The function enters the has_unambiguous_public_base function > through __dynamic_cast Called, right here the program crashes. Upgrading > v8, I used the monolith library instead of multiple previous libraries. > Through the command `nm` I found that the updated v8 has the symbol > __dynamic_cast defined. Can anyone help me understand why monolith has this > symbol? What does the monolith version do? Why does my other dynamic > library crash? > > The monolithic build includes ICU and that uses dynamic_cast in > numerous places. That said, I doubt that's the reason for the crash. > > Search the group for recently reported crashes. In most cases it's a > matter of ensuring both V8 and your own code are compiled with > -DV8_COMPRESS_POINTERS. > -- -- 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/b3f70d2c-e90e-4cff-90d1-afc6ee4dea5f%40googlegroups.com.