Hi, I'm trying to embed V8 on Windows into a program built with Visual Studio 2017, which I already done before (last time it was ok with version 7.1.9). Now I'm upgrading to V8 version 7.7.99, but my builds fail with linker errors. I build V8, according to the build instructions, as follows:
> cd %USERPROFILE%\oss > set PATH=%USERPROFILE%\oss\depot_tools;%PATH% > set DEPOT_TOOLS_WIN_TOOLCHAIN=0 > set GYP_MSVS_VERSION=2017 > gclient > mkdir v8 > cd v8 > fetch v8 > cd v8 > git checkout 7.7.99 > gclient sync > gn gen out.gn/x64.debug --args="v8_use_external_startup_data=false is_component_build=true use_custom_libcxx=false is_debug=true" > ninja -C out.gn/x64.debug The problem is that V8 is built with clang, while I'm using cl. There are linker errors like this: om_v8_runproc.cpp.obj:-1: error: LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl v8::EscapableHandleScope::~EscapableHandleScope(void)" ( __imp_??1EscapableHandleScope@v8@@QEAA@XZ) referenced in function "void __cdecl ctm::lang::om_v8_runproc::`anonymous namespace'::jn_runproc(class v8::FunctionCallbackInfo<class v8::Value> const &)" (?jn_runproc@? A0xb330fd70@om_v8_runproc@lang@ctm@@YAXAEBV? $FunctionCallbackInfo@VValue@v8@@@v8@@@Z) There are many inline functions that the linker for some reason expects to be exported from v8.dll As I have found, for example, cl expects default constructors and destructors to be exported, but clang does not export those (see https://stackoverflow.com/questions/53283030/clang-fails-to-generate-defaulted-move-constructor-upon-template-instantiation ). I tried building V8 with additional GN argument is_clang=false, but in that case there are a lot of link errors during V8 build, so the build fails. Finally, I tried building the old version, 7.1.9, but the build that worked fine before now fails (the reason is that the redistributable files in Windows 10 SDK are now in a different folder). So my questions are: 1. Is it possible to build V8 7.7.99 using Visual Studio and the cl compiler? 2. If not, is it possible to use the clang build in a program built with cl? How to do that? 3. If not, maybe the above options are available for an ealier version of V8? -- -- 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/8c901830-2807-4d10-a49a-f9739f665327%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.