microsoft / Range-V3-VS2015

A fork of the popular range-v3 C++ library with support for the Visual Studio 2015 Update 3 VC++ compiler.
Other
115 stars 22 forks source link

Could this repo work with VS2019 of version 16.4.0? #34

Closed ameaninglessname closed 7 months ago

ameaninglessname commented 4 years ago

I am trying to build Telegram.sln(with tons of effort to finally get the chance to build), but I immediately gett tons of compile errors:😭

Could you please give me some advices on how to solve it?

Output window:

1>------ Build started: Project: Telegram, Configuration: Debug Win32 ------ 1>ninja: Entering directory `..\out\Debug\' 1>[1/909] CXX ThirdParty\libtgvoip\libtgvoip.VoIPController.obj 1>C:\TBuild\tdesktop\Telegram\ThirdParty\libtgvoip\VoIPController.cpp(2646): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss 1>[2/909] LIB ThirdParty\libtgvoip\libtgvoip.lib 1>[3/909] CXX sourcefiles\storage\lib_storage.storage_pch.obj 1>FAILED: sourcefiles/storage/lib_storage.storage_pch.obj 1>ninja -t msvc -e environment.x86 -- "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x86\cl.exe" /nologo /showIncludes /FC @sourcefiles\storage\lib_storage.storage_pch.obj.rsp /c ....\Telegram\SourceFiles\storage\storage_pch.cpp /Fosourcefiles\storage\lib_storage.storage_pch.obj /Fdlib_storage.pdb 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(201): error C2039: 'tagged': is not a member of 'std::ranges' 1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\set(327): note: see declaration of 'std::ranges' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(201): error C2977: 'std::tuple_size': too many template arguments 1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\utility(384): note: see declaration of 'std::tuple_size' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(201): error C2988: unrecognizable template declaration/definition 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(201): error C2143: syntax error: missing ';' before '>' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(201): error C2059: syntax error: '>' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(202): error C2065: 'Base': undeclared identifier 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(202): error C2059: syntax error: 'function-style cast' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(203): error C2143: syntax error: missing ';' before '{' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(203): error C2447: '{': missing function header (old-style formal list?) 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(206): error C2039: 'tagged': is not a member of 'std::ranges' 1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\set(327): note: see declaration of 'std::ranges' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(206): error C2977: 'std::tuple_element': too many template arguments 1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include\utility(411): note: see declaration of 'std::tuple_element' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(206): error C2988: unrecognizable template declaration/definition 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(206): error C2143: syntax error: missing ';' before '>' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(206): error C2059: syntax error: '>' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(207): error C2065: 'N': undeclared identifier 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(207): error C2065: 'Base': undeclared identifier 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(207): error C2059: syntax error: 'function-style cast' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(208): error C2143: syntax error: missing ';' before '{' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\tagged_pair.hpp(208): error C2447: '{': missing function header (old-style formal list?) 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\compressed_pair.hpp(224): error C2977: 'std::tuple_size': too many template arguments 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\compressed_pair.hpp(223): note: see declaration of 'std::tuple_size' 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\compressed_pair.hpp(230): error C3855: 'std::tuple_element': template parameter '_Index' is incompatible with the declaration 1>C:\TBuild\Libraries\range-v3\include\range\v3\utility\compressed_pair.hpp(236): error C3855: 'std::tuple_element': template parameter '_Index' is incompatible with the declaration 1>C:\TBuild\Libraries\range-v3\include\range\v3\range.hpp(420): error C2977: 'std::tuple_size': too many template arguments 1>C:\TBuild\Libraries\range-v3\include\range\v3\range.hpp(419): note: see declaration of 'std::tuple_size' 1>C:\TBuild\Libraries\range-v3\include\range\v3\range.hpp(426): error C3855: 'std::tuple_element': template parameter '_Index' is incompatible with the declaration 1>C:\TBuild\Libraries\range-v3\include\range\v3\range.hpp(432): error C3855: 'std::tuple_element': template parameter '_Index' is incompatible with the declaration 1>C:\TBuild\Libraries\range-v3\include\range\v3\range.hpp(437): error C2977: 'std::tuple_size': too many template arguments 1>C:\TBuild\Libraries\range-v3\include\range\v3\range.hpp(436): note: see declaration of 'std::tuple_size' 1>C:\TBuild\Libraries\range-v3\include\range\v3\range.hpp(443): error C3855: 'std::tuple_element': template parameter '_Index' is incompatible with the declaration 1>C:\TBuild\Libraries\range-v3\include\range\v3\range.hpp(449): error C3855: 'std::tuple_element': template parameter '_Index' is incompatible with the declaration 1>C:\TBuild\Libraries\range-v3\include\meta\meta.hpp(172): error C2794: 'type': is not a member of any direct or indirect base class of 'ranges::v3::concepts::most_refined<meta::v1::list<ranges::v3::concepts::RandomAccessIncrementable,ranges::v3::concepts::BidirectionalIncrementable,ranges::v3::concepts::Incrementable,ranges::v3::concepts::WeaklyIncrementable>,From>' 1> with 1> [ 1> From=int 1> ] 1>C:\TBuild\Libraries\range-v3\include\range\v3\view\iota.hpp(79): note: see reference to alias template instantiation 'meta::v1::_t<ranges::v3::concepts::most_refined<meta::v1::list<ranges::v3::concepts::RandomAccessIncrementable,ranges::v3::concepts::BidirectionalIncrementable,ranges::v3::concepts::Incrementable,ranges::v3::concepts::WeaklyIncrementable>,From>>' being compiled 1> with 1> [ 1> From=int 1> ] 1>C:\TBuild\Libraries\range-v3\include\range\v3\view\iota.hpp(84): note: see reference to alias template instantiation 'ranges::v3::incrementable_concept_t' being compiled 1>C:\TBuild\Libraries\range-v3\include\range\v3\view\iota.hpp(119): note: see reference to class template instantiation 'ranges::v3::detail::iota_difference' being compiled 1> with 1> [ 1> From=int 1> ] 1>C:\TBuild\Libraries\range-v3\include\range\v3\view\iota.hpp(119): note: see reference to alias template instantiation 'meta::v1::_t<ranges::v3::detail::iota_difference>' being compiled 1> with 1> [ 1> From=int 1> ] 1>C:\TBuild\Libraries\range-v3\include\range\v3\view\iota.hpp(304): note: see reference to alias template instantiation 'ranges::v3::detail::iota_difference_t' being compiled 1>C:\TBuild\Libraries\range-v3\include\range\v3\view\iota.hpp(517): note: see reference to class template instantiation 'ranges::v3::iota_view<int,void>' being compiled 1>C:\TBuild\Libraries\range-v3\include\range\v3\view\iota.hpp(79): error C2938: 'meta::v1::_t' : Failed to specialize alias template 1>C:\TBuild\Libraries\range-v3\include\range\v3\view\iota.hpp(115): error C2976: 'ranges::v3::detail::iotadifference': too few template arguments