Hey, hope your day is going well!

So since you're using a more recent version of V8, building V8 for windows, 
let alone as a DLL has a massive PITA for most embedders like you and me. 

Anyway, to fix the abseil linker errors, what you want to do is first make 
sure you're compiling with clang or clang-cl. You can do this by passing 
the: 'is_clang=true' to your GN arguments.

If using clang isn't an option, I recommend adding the 
`/Zc:dllexportsInlines-` flag (See this conversation 
<https://groups.google.com/g/v8-users/c/6yUV_M_ww1s/m/vtlChxaiAAAJ>).

The main reason why this is happening, is MSVC getting confused on what 
symbol to use for the standard library, thus causing linker errors. 

This has worked for my team, but if you're still having problems, feel free 
to reply, and ill see if I can help.

[image: Logo] <https://www.wdstudios.tech/>


Mikael K Aboagye | Co-Founder/Lead Software Engineer

WD Studios

[image: phone-icon]  mikaelama...@wdstudios.tech   
[image: website-icon]  www.wdstudios.tech



On Wednesday, June 4, 2025 at 10:07:40 AM UTC-4 dobrg...@gmail.com wrote:

Hello, I builded and embeded v8 on Windows 10 successfully 
when is_component_build = false and v8_monolithic = false options are set. 
But I want to build individual libraries for my project and trying to build 
with this configuration:







*dcheck_always_on = falseis_component_build = trueis_debug = 
falsetarget_cpu = "x64"use_custom_libcxx = falsev8_monolithic = 
falsev8_use_external_startup_data = falsetreat_warnings_as_errors = false*

I get this linker errors:
[1/9] LINK(DLL) third_party_abseil-cpp_absl.dll 
third_party_abseil-cpp_absl.dll.lib third_party_abseil-cpp_absl.dll.pdb
FAILED: third_party_abseil-cpp_absl.dll third_party_abseil-cpp_absl.dll.lib 
third_party_abseil-cpp_absl.dll.pdb
..\..\third_party\llvm-build\Release+Asserts\bin\lld-link.exe 
"/OUT:./third_party_abseil-cpp_absl.dll" /nologo 
-libpath:..\..\third_party\llvm-build\Release+Asserts\lib\clang\20\lib\windows 
"-libpath:../../../../../../../../Program Files/Microsoft Visual 
Studio/2022/Community/VC/Tools/MSVC/14.44.35207/ATLMFC/lib/x64" 
"-libpath:../../../../../../../../Program Files/Microsoft Visual 
Studio/2022/Community/VC/Tools/MSVC/14.44.35207/lib/x64" 
"-libpath:../../../../../../../../Program Files (x86)/Windows 
Kits/10/lib/10.0.22621.0/ucrt/x64" 
"-libpath:../../../../../../../../Program Files (x86)/Windows 
Kits/10/lib/10.0.22621.0/um/x64" /MACHINE:X64 
 "/IMPLIB:./third_party_abseil-cpp_absl.dll.lib" /DLL 
"/PDB:./third_party_abseil-cpp_absl.dll.pdb" 
"@./third_party_abseil-cpp_absl.dll.rsp"
lld-link: error: <root>: undefined symbol: public: __cdecl 
absl::Cord::Cord<class std::__Cr::basic_string<char, struct 
std::__Cr::char_traits<char>, class std::__Cr::allocator<char>>, 0>(class 
std::__Cr::basic_string<char, struct std::__Cr::char_traits<char>, class 
std::__Cr::allocator<char>> &&)
lld-link: error: <root>: undefined symbol: public: void __cdecl 
absl::base_internal::AtomicHook<void (__cdecl *)(enum absl::LogSeverity, 
char const *, int, class std::__Cr::basic_string<char, struct 
std::__Cr::char_traits<char>, class std::__Cr::allocator<char>> const 
&)>::operator()<enum absl::LogSeverity, char const *const &, int, char 
const (&)[34]>(enum absl::LogSeverity &&, char const *const &, int &&, char 
const (&)[34]) const
lld-link: error: <root>: undefined symbol: public: void __cdecl 
absl::base_internal::AtomicHook<void (__cdecl *)(enum absl::LogSeverity, 
char const *, int, class std::__Cr::basic_string<char, struct 
std::__Cr::char_traits<char>, class std::__Cr::allocator<char>> const 
&)>::operator()<enum absl::LogSeverity, char const *const &, int, char 
const (&)[38]>(enum absl::LogSeverity &&, char const *const &, int &&, char 
const (&)[38]) const
lld-link: error: <root>: undefined symbol: public: void __cdecl 
absl::base_internal::AtomicHook<void (__cdecl *)(enum absl::LogSeverity, 
char const *, int, class std::__Cr::basic_string<char, struct 
std::__Cr::char_traits<char>, class std::__Cr::allocator<char>> const 
&)>::operator()<enum absl::LogSeverity, char const *const &, int, char 
const (&)[39]>(enum absl::LogSeverity &&, char const *const &, int &&, char 
const (&)[39]) const
lld-link: error: <root>: undefined symbol: private: class 
std::__Cr::basic_string_view<char, struct std::__Cr::char_traits<char>> 
__cdecl absl::cord_internal::CordRepBtree::AddData<1>(class 
std::__Cr::basic_string_view<char, struct std::__Cr::char_traits<char>>, 
unsigned __int64)
lld-link: error: <root>: undefined symbol: private: static class 
absl::cord_internal::CordRepBtree * __cdecl 
absl::cord_internal::CordRepBtree::AddData<1>(class 
absl::cord_internal::CordRepBtree *, class 
std::__Cr::basic_string_view<char, struct std::__Cr::char_traits<char>>, 
unsigned __int64)
lld-link: error: <root>: undefined symbol: private: class 
std::__Cr::basic_string_view<char, struct std::__Cr::char_traits<char>> 
__cdecl absl::cord_internal::CordRepBtree::AddData<0>(class 
std::__Cr::basic_string_view<char, struct std::__Cr::char_traits<char>>, 
unsigned __int64)
lld-link: error: <root>: undefined symbol: private: static class 
absl::cord_internal::CordRepBtree * __cdecl 
absl::cord_internal::CordRepBtree::AddData<0>(class 
absl::cord_internal::CordRepBtree *, class 
std::__Cr::basic_string_view<char, struct std::__Cr::char_traits<char>>, 
unsigned __int64)
lld-link: error: <root>: undefined symbol: public: void __cdecl 
absl::Cord::Append<class std::__Cr::basic_string<char, struct 
std::__Cr::char_traits<char>, class std::__Cr::allocator<char>>, 0>(class 
std::__Cr::basic_string<char, struct std::__Cr::char_traits<char>, class 
std::__Cr::allocator<char>> &&)
lld-link: error: <root>: undefined symbol: void __cdecl 
absl::strings_internal::Base64EscapeInternal<class 
std::__Cr::basic_string<char, struct std::__Cr::char_traits<char>, class 
std::__Cr::allocator<char>>>(unsigned char const *, unsigned __int64, class 
std::__Cr::basic_string<char, struct std::__Cr::char_traits<char>, class 
std::__Cr::allocator<char>> *, bool, char const *)
lld-link: error: <root>: undefined symbol: void __cdecl 
absl::base_internal::CallOnceImpl<void (__cdecl &)(void)>(struct 
std::__Cr::atomic<unsigned int> *, enum 
absl::base_internal::SchedulingMode, void (__cdecl &)(void))
lld-link: error: <root>: undefined symbol: void __cdecl 
absl::base_internal::CallOnceImpl<void (__cdecl 
absl::flags_internal::FlagImpl::*)(void), class 
absl::flags_internal::FlagImpl *>(struct std::__Cr::atomic<unsigned int> *, 
enum absl::base_internal::SchedulingMode, void (__cdecl 
absl::flags_internal::FlagImpl::*&&)(void), class 
absl::flags_internal::FlagImpl *&&)
lld-link: error: <root>: undefined symbol: private: static bool __cdecl 
absl::Condition::CastAndCallFunction<struct std::__Cr::atomic<bool> 
const>(class absl::Condition const *)
lld-link: error: <root>: undefined symbol: private: void __cdecl 
absl::log_internal::LogMessage::CopyToEncodedBuffer<1>(class 
std::__Cr::basic_string_view<char, struct std::__Cr::char_traits<char>>)
lld-link: error: <root>: undefined symbol: private: void __cdecl 
absl::log_internal::LogMessage::CopyToEncodedBuffer<0>(class 
std::__Cr::basic_string_view<char, struct std::__Cr::char_traits<char>>)
lld-link: error: <root>: undefined symbol: private: static bool __cdecl 
absl::str_format_internal::FormatArgImpl::Dispatch<class 
std::__Cr::basic_string<char, struct std::__Cr::char_traits<char>, class 
std::__Cr::allocator<char>>>(union 
absl::str_format_internal::FormatArgImpl::Data, class 
absl::str_format_internal::FormatConversionSpecImpl, void *)
lld-link: error: <root>: undefined symbol: private: static bool __cdecl 
absl::str_format_internal::FormatArgImpl::Dispatch<class 
std::__Cr::basic_string<wchar_t, struct std::__Cr::char_traits<wchar_t>, 
class std::__Cr::allocator<wchar_t>>>(union 
absl::str_format_internal::FormatArgImpl::Data, class 
absl::str_format_internal::FormatConversionSpecImpl, void *)
lld-link: error: <root>: undefined symbol: private: static bool __cdecl 
absl::str_format_internal::FormatArgImpl::Dispatch<class 
std::__Cr::basic_string_view<char, struct 
std::__Cr::char_traits<char>>>(union 
absl::str_format_internal::FormatArgImpl::Data, class 
absl::str_format_internal::FormatConversionSpecImpl, void *)
lld-link: error: <root>: undefined symbol: private: static bool __cdecl 
absl::str_format_internal::FormatArgImpl::Dispatch<class 
std::__Cr::basic_string_view<wchar_t, struct 
std::__Cr::char_traits<wchar_t>>>(union 
absl::str_format_internal::FormatArgImpl::Data, class 
absl::str_format_internal::FormatConversionSpecImpl, void *)
lld-link: error: <root>: undefined symbol: private: class absl::LogSink *& 
__cdecl absl::inlined_vector_internal::Storage<class absl::LogSink *, 16, 
class std::__Cr::allocator<class absl::LogSink *>>::EmplaceBackSlow<class 
absl::LogSink *const &>(class absl::LogSink *const &)

I am on branch  *branch-heads/13.1*
I am running the build command from x64 Native Tools Command Prompt on 
Windows10, MSVCv143 - VS 2022 is installed, also C++ Clang tools for 
Windows are installed. 
Any idea how to solve this error, I tried running:
* python3 third_party\abseil-cpp\generate_def_files.py *which I saw 
suggested somewhere in threads, it finished successfully but still getting 
the same error.

-- 
-- 
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/d2bfac0a-3c83-43f7-8116-0293f9df8bf1n%40googlegroups.com.

Reply via email to