On Wed, Dec 4, 2024 at 6:00 AM Grant Upson <grantaup...@gmail.com> wrote: > > Hi everyone, > > I'm trying to embed V8 into a C++ project currently and keep encountering > issues when linking V8. Currently i'm following the instructions on > https://v8.dev/docs/embed and doing this on Linux. After building V8 with > these parameters > > > gn gen out.gn/library --args='is_debug=false is_component_build=false > v8_enable_i18n_support=false use_custom_libcxx=false is_clang=true > v8_monolithic=true target_cpu="x64" v8_use_external_startup_data=false' > > > and attempting to link to the libv8_monolith.a static library it throws a > bunch of undefined reference errors to the standard library e.g., > > ld.lld: error: undefined symbol: std::basic_ios<char, > std::char_traits<char>>::init(std::basic_streambuf<char, > std::char_traits<char>>*) > >>> referenced by logging.cc > > I've setup my default compiler to use clang with the LLVM standard library > and using nm have determined that V8 is being built with clang and the LLVM > std library since it outputs std::__1:: function symbols. > > I've also forced libc++ to be used in the cmake project that is trying to > link to the V8 library with cmake commands like so > > set(CMAKE_CXX_STANDARD_LIBRARIES "-stdlib=libc++") > set(CMAKE_C_FLAGS "-stdlib=libc++") > set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ > -lc++abi") > > I'm really at a loss at what could be causing this issue because both the > library and my project should be using the same standard library. Any advice?
In your other email you didn't have use_custom_libcxx=false set. Did you do a clean/full rebuild after changing it? FWIW, I believe V8 links to libstdc++, not libc++, when use_custom_libcxx=false. Or at least, it doesn't set -stdlib=... but uses whatever your linker defaults to. -- -- 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 visit https://groups.google.com/d/msgid/v8-users/CAHQurc91Mvt33BRBoFcdS%3DuuPytpQE%3D2Fw8h%2BxLBQAxGeknfOA%40mail.gmail.com.