Is there a reason it MUST be 8.7?

I am the current maintainer for Windows builds on VCPKG and Mingw-w64, the 
VCPKG version is probably exactly what you need, but it currently sits at 
8.6.
I am working on an update to current stable version 8.8, but if it must be 
8.7 you may have to see the port and figure it out yourself.
VCPKG: https://github.com/microsoft/vcpkg
Direct link to the port: 
https://github.com/microsoft/vcpkg/tree/master/ports/v8

On Monday, February 1, 2021 at 9:07:35 AM UTC-6 quinte...@gmail.com wrote:

> Thanks for getting back to me!
>
> I've looked into fixing the compilation issues with Visual Studio 2019, 
> but the problems range from "explicit move constructors are needed" to 
> "don't use the /Zb:inline flag" and "I don't know why this exported class 
> cannot be found by the linker".
>
> I don't think it's feasible for me to both fix and maintain compiling V8 
> with Visual Studio. It's clear that the project's use of cutting-edge C++ 
> features is incompatible with the toolchain I'm using on my project.
>
> I will instead be using Duktape (https://duktape.org/), which seems much 
> closer aligned to my project's goals. I will therefore not require any 
> further assistance with V8.
>
> -Quinten
>
> On Mon, Feb 1, 2021 at 12:24 PM Ben Ernst <boi...@gmail.com> wrote:
>
>> Unfortunately the DLL build under MSVC++ breaks constantly and requires 
>> smarter people than me to fix it. If you can rearchitect your app to permit 
>> static linking to V8, you'll have a much better experience.
>> Ben.
>>
>> On Wednesday, 27 January 2021 at 19:17:20 UTC+10:30 quinte...@gmail.com 
>> wrote:
>>
>>> Hey there,
>>>
>>> I am trying to build V8 version 8.7 on Windows using Visual Studio 
>>> Professional 2019, but I'm getting compile errors due to what appears to be 
>>> missing move semantics for an std::unique_ptr:
>>>
>>> 1>  ninja -t msvc -e environment.x64 -- "C:\Program Files 
>>> (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64/cl.exe" 
>>> /nologo /showIncludes -DUSE_AURA=1 -D_HAS_EXCEPTIONS=0 -DCOMPONENT_BUILD 
>>> -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE 
>>> -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS 
>>> -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL 
>>> -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX 
>>> -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_VB -D_WIN32_WINNT=0x0A00 
>>> -DWINVER=0x0A00 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 
>>> -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DENABLE_MINOR_MC -DV8_INTL_SUPPORT 
>>> -DENABLE_HANDLE_ZAPPING -DV8_USE_EXTERNAL_STARTUP_DATA 
>>> -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ATOMIC_MARKING_STATE 
>>> -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_WIN64_UNWINDING_INFO 
>>> -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_SNAPSHOT_COMPRESSION 
>>> -DV8_GN_HEADER -DV8_GN_HEADER -DV8_TARGET_ARCH_X64 -DV8_HAVE_TARGET_OS 
>>> -DV8_TARGET_OS_WIN -DDISABLE_UNTRUSTED_CODE_MITIGATIONS 
>>> -DBUILDING_V8_SHARED -DV8_GN_HEADER -DV8_GN_HEADER -DUSING_V8_BASE_SHARED 
>>> -DUSING_V8_PLATFORM_SHARED -DV8_GN_HEADER -DV8_GN_HEADER 
>>> -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 
>>> -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 
>>> -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=wchar_t -I../.. -Igen 
>>> -I../.. -I../../include -Igen -Igen/include -Igen/include -I../../include 
>>> -I../../include -Igen/include -I../../third_party/icu/source/common 
>>> -I../../third_party/icu/source/i18n -I../../include 
>>> -I../../third_party/zlib /Gy /FS /bigobj /utf-8 /Zc:sizedDealloc- /wd4117 
>>> /D__DATE__= /D__TIME__= /D__TIMESTAMP__= /W4 /WX /wd4091 /wd4127 /wd4251 
>>> /wd4275 /wd4312 /wd4324 /wd4351 /wd4355 /wd4503 /wd4589 /wd4611 /wd4100 
>>> /wd4121 /wd4244 /wd4505 /wd4510 /wd4512 /wd4610 /wd4838 /wd4995 /wd4996 
>>> /wd4456 /wd4457 /wd4458 /wd4459 /wd4200 /wd4201 /wd4204 /wd4221 /wd4245 
>>> /wd4267 /wd4305 /wd4389 /wd4702 /wd4701 /wd4703 /wd4661 /wd4706 /wd4715 /Zi 
>>> /MD /wd4245 /wd4267 /wd4324 /wd4701 /wd4702 /wd4703 /wd4709 /wd4714 /wd4715 
>>> /wd4718 /wd4723 /wd4724 /wd4800 /wd5205 /wd4506 /O2 /Ob2 /Oy- /Zc:inline 
>>> /Gw /TP /wd4577 /GR- /c ../../src/api/api.cc 
>>> /Foobj/v8_base_without_compiler/api.obj 
>>> /Fd"obj/v8_base_without_compiler_cc.pdb"
>>> 1>  C:\Program Files (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\xutility(4142): 
>>> error C2280: 
>>> 'std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> &std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>::operator
>>>  
>>> =(const 
>>> std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> &)': attempting to reference a deleted function
>>> 1>  C:\Program Files (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\memory(2552): 
>>> note: see declaration of 
>>> 'std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>::operator
>>>  
>>> ='
>>> 1>  C:\Program Files (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\memory(2552): 
>>> note: 
>>> 'std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> &std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>::operator
>>>  
>>> =(const 
>>> std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> &)': function was explicitly deleted
>>> 1>  C:\Program Files (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\vector(1127): 
>>> note: see reference to function template instantiation '_OutIt 
>>> *std::_Copy_unchecked<_Iter,std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>*>(_InIt,_InIt,_OutIt)'
>>>  
>>> being compiled
>>> 1>          with
>>> 1>          [
>>> 1>              
>>> _OutIt=std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> *,
>>> 1>              
>>> _Iter=std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> *,
>>> 1>              
>>> _InIt=std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> *
>>> 1>          ]
>>> 1>  C:\Program Files (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\vector(1142): 
>>> note: see reference to function template instantiation 'void 
>>> std::vector<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>,std::allocator<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>>>::_Assign_range<_Iter>(_Iter,_Iter,std::forward_iterator_tag)'
>>>  
>>> being compiled
>>> 1>          with
>>> 1>          [
>>> 1>              
>>> _Iter=std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> *
>>> 1>          ]
>>> 1>  C:\Program Files (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\vector(1142): 
>>> note: see reference to function template instantiation 'void 
>>> std::vector<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>,std::allocator<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>>>::_Assign_range<_Iter>(_Iter,_Iter,std::forward_iterator_tag)'
>>>  
>>> being compiled
>>> 1>          with
>>> 1>          [
>>> 1>              
>>> _Iter=std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> *
>>> 1>          ]
>>> 1>  C:\Program Files (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\vector(1153): 
>>> note: see reference to function template instantiation 'void 
>>> std::vector<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>,std::allocator<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>>>::assign<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>*,0>(_Iter,_Iter)'
>>>  
>>> being compiled
>>> 1>          with
>>> 1>          [
>>> 1>              
>>> _Iter=std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> *
>>> 1>          ]
>>> 1>  C:\Program Files (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\vector(1153): 
>>> note: see reference to function template instantiation 'void 
>>> std::vector<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>,std::allocator<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>>>::assign<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>*,0>(_Iter,_Iter)'
>>>  
>>> being compiled
>>> 1>          with
>>> 1>          [
>>> 1>              
>>> _Iter=std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>
>>>  
>>> *
>>> 1>          ]
>>> 1>  C:\Program Files (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\vector(1150): 
>>> note: while compiling class template member function 'void 
>>> std::vector<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>,std::allocator<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>>>::_Copy_assign(const
>>>  
>>> std::vector<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>,std::allocator<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>>>
>>>  
>>> &,std::false_type)'
>>> 1>  C:\Program Files (x86)\Microsoft Visual 
>>> Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\include\vector(1169): 
>>> note: see reference to function template instantiation 'void 
>>> std::vector<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>,std::allocator<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>>>::_Copy_assign(const
>>>  
>>> std::vector<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>,std::allocator<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>>>
>>>  
>>> &,std::false_type)' being compiled
>>> 1>  C:\Users\quintenlansu\Documents\google\v8\include\cppgc/heap.h(124): 
>>> note: see reference to class template instantiation 
>>> 'std::vector<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>,std::allocator<std::unique_ptr<cppgc::CustomSpaceBase,std::default_delete<cppgc::CustomSpaceBase>>>>'
>>>  
>>> being compiled
>>>
>>> I am using the following generation settings:
>>>
>>> gn gen out.gn/x64.release --ide=vs2019 --args="is_debug=false 
>>> is_component_build=true v8_static_library=false is_clang=false 
>>> use_custom_libcxx=false target_cpu=\"x64\""
>>>
>>> The class that is throwing errors looks like this:
>>>
>>> /**
>>> * Top-level base class for custom spaces. Users must inherit from 
>>> CustomSpace
>>> * below.
>>> */
>>> class CustomSpaceBase {
>>> public:
>>>   virtual ~CustomSpaceBase() = default;
>>>   virtual CustomSpaceIndex GetCustomSpaceIndex() const = 0;
>>>   virtual bool IsCompactable() const = 0;
>>> };
>>>
>>> I have tried applying the rule-of-five to the class, to no avail. 
>>>
>>> The project I'm working on requires a specific version of Visual Studio 
>>> Professional 2019, which is 16.7.7. I'm not sure if that is related to my 
>>> issues, but it will not be possible for me to upgrade to a newer version of 
>>> the IDE.
>>>
>>> I have tried to isolate the compilation issue, but I'm not sure where 
>>> the offending copy actually occurs. I will continue to investigate the 
>>> issue myself and will update the thread with a pull request if I have a 
>>> fix. But obviously I am hoping that I have overlooked something extremely 
>>> obvious that will resolve my issues straight away. :)
>>>
>>> Best regards,
>>>
>>> Quinten Lansu
>>>
>>> -- 
>> -- 
>> v8-users mailing list
>> v8-u...@googlegroups.com
>> http://groups.google.com/group/v8-users
>> --- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "v8-users" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/v8-users/iMFNsV_cTEA/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> v8-users+u...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/v8-users/8c7aedce-019a-485e-b6c1-3878cc07f4c2n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/v8-users/8c7aedce-019a-485e-b6c1-3878cc07f4c2n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
-- 
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/e013cb05-b3b5-46f5-8fee-3efd8d57711bn%40googlegroups.com.

Reply via email to