Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v2.0.0 compilation warnings/compilation output noise on Windows MSVC #5114

Closed
FranciscoPombal opened this issue Sep 7, 2020 · 8 comments
Closed

Comments

@FranciscoPombal
Copy link
Contributor

FranciscoPombal commented Sep 7, 2020

libtorrent version (or branch)

v2.0.0

platform/architecture

MSVC x64

compiler and compiler version

  • MSVC 16.7.2 19.27/14.27

Libraries/tools:

  • OpenSSL 1.1.1g
  • Boost 1.73.0
  • CMake 3.18.2

please describe what symptom you see, what you would expect to see instead and
how to reproduce it.

Follow up to #5111 (comment) and #5111 (comment); compilation is successful but there are some warnings/excessive compilation output noise. Not sure what is the impact/severity of these warnings in practical terms, but they could be fixed.

  • Without specified CMAKE_CXX_STANDARD:

Config command:

cmake -S . -B cmake-build-dir -G "Ninja Multi-Config" -DCMAKE_TOOLCHAIN_FILE=G:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -Dbuild_examples=ON -Dbuild_tools=ON -Ddeprecated-functions=OFF -Dstatic_runtime=ON -DBUILD_SHARED_LIBS=OFF

Build output (release build):

(Note the possible loss of data warnings and the output noise from cl : Command line warning D9025 : overriding '/W3' with '/W4'. Pretty sure the latter can be fixed by using target_compile_options() instead of add_compile_options() to set /W4. If no one tackles this in the meantime, I'll give it a shot in the near future.)

Click to show
PS C:\Users\User\Documents\libtorrent> cmake --build .\cmake-build-dir\ --config Release
[1/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\chained_buffer.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[2/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bitfield.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[3/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\cpuid.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[4/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bdecode.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[5/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_buffer_holder.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[6/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\entry.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[7/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\crc32c.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[8/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\close_reason.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[9/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bloom_filter.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[10/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\error_code.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[11/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bandwidth_limit.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[12/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\assert.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[13/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bandwidth_manager.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[14/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\create_torrent.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[15/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bandwidth_queue_entry.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[16/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\choker.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[17/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\sha1.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[18/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\announce_entry.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[19/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\fingerprint.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[20/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\gzip.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[21/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\alert_manager.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[22/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\web_connection_base.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[23/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\alert.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[24/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\escape_string.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[25/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\hasher.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[26/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\path.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[27/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\generate_peer_id.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[28/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\file_view_pool.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[29/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\string_util.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[30/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\file_storage.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[31/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ip_notifier.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[32/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\file_progress.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[33/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\sha256.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[34/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\file.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[35/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ip_helpers.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[36/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ip_filter.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[37/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\hex.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[38/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\http_parser.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[39/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\identify_client.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[40/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\i2p_stream.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[41/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\listen_socket_handle.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[42/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_class_set.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[43/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ip_voter.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[44/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\performance_counters.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[45/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\hash_picker.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[46/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\merkle.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[47/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bt_peer_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[48/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_class.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[49/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[50/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\merkle_tree.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[51/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\http_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[52/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\http_seed_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[53/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\natpmp.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[54/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\instantiate_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[55/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\web_peer_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[56/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_settings.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[57/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\proxy_settings.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[58/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_stats.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[59/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_connection_handle.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[60/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\platform_util.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[61/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\sha1_hash.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[62/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\settings_pack.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[63/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\packet_buffer.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[64/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\puff.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[65/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\socket_io.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[66/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\receive_buffer.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[67/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\proxy_base.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[68/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\random.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[69/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\part_file.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[70/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\resolver.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[71/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\piece_picker.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[72/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_list.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[73/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\read_resume_data.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[74/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\write_resume_data.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[75/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_params.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[76/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\resolve_links.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[77/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\request_blocks.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[78/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[79/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\stat.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[80/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_call.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[81/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_handle.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[82/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\socket_type.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[83/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\stat_cache.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[84/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\timestamp_history.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[85/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\socks5_stream.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[86/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\storage_utils.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[87/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\time.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[88/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent_info.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\utility(192): warning C4244: 'initializing': conversion from '_Ty' to '_Ty1', possible loss of data
        with
        [
            _Ty=ptrdiff_t
        ]
        and
        [
            _Ty1=int32_t
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(694): note: see reference to function template instantiation 'std::pair<int32_t,int>::pair<_Ty,int,0>(_Other1 &&,_Other2 &&) noexcept' being compiled
        with
        [
            _Ty=ptrdiff_t,
            _Other1=ptrdiff_t,
            _Other2=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(694): note: see reference to function template instantiation 'std::pair<int32_t,int>::pair<_Ty,int,0>(_Other1 &&,_Other2 &&) noexcept' being compiled
        with
        [
            _Ty=ptrdiff_t,
            _Other1=ptrdiff_t,
            _Other2=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\vector(687): note: see reference to function template instantiation 'void std::_Default_allocator_traits<_Alloc>::construct<_Ty,__int64,int>(_Alloc &,_Objty *const ,__int64 &&,int &&)' being compiled
        with
        [
            _Alloc=std::allocator<std::pair<int32_t,int>>,
            _Ty=std::pair<int32_t,int>,
            _Objty=std::pair<int32_t,int>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\vector(687): note: see reference to function template instantiation 'void std::_Default_allocator_traits<_Alloc>::construct<_Ty,__int64,int>(_Alloc &,_Objty *const ,__int64 &&,int &&)' being compiled
        with
        [
            _Alloc=std::allocator<std::pair<int32_t,int>>,
            _Ty=std::pair<int32_t,int>,
            _Objty=std::pair<int32_t,int>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\vector(705): note: see reference to function template instantiation 'void std::vector<std::pair<int32_t,int>,std::allocator<std::pair<int32_t,int>>>::_Emplace_back_with_unused_capacity<_Ty,int>(_Ty &&,int &&)' being compiled
        with
        [
            _Ty=ptrdiff_t
        ]
..\src\torrent_info.cpp(1416): note: see reference to function template instantiation 'void std::vector<std::pair<int32_t,int>,std::allocator<std::pair<int32_t,int>>>::emplace_back<ptrdiff_t,int>(ptrdiff_t &&,int &&)' being compiled
[89/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\utf8.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[90/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_impl.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[91/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent_peer_allocator.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[92/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent_status.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[93/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\tracker_manager.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[94/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent_handle.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[95/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\http_tracker_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[96/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[97/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent_peer.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[98/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\utp_socket_manager.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[99/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\utp_stream.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[100/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\udp_tracker_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[101/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\udp_socket.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[102/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_io_job.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[103/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_job_fence.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[104/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_io_thread_pool.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[105/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\lsd.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[106/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_buffer_pool.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[107/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\upnp.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[108/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_interface.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[109/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_job_pool.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[110/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\version.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[111/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\parse_url.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[112/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disabled_disk_io.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[113/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\xml_parse.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[114/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ffs.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[115/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\mmap.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[116/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_info.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[117/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\stack_allocator.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[118/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\magnet_uri.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[119/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\add_torrent_params.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[120/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\enum_net.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[121/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ssl.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[122/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\posix_storage.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[123/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\mmap_disk_io.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[124/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\posix_disk_io.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[125/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\deps\try_signal\try_signal.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[126/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\deps\try_signal\signal_error_code.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[127/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\mmap_storage.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[128/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ut_pex.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[129/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\dos_blocker.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[130/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\dht_state.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[131/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\smart_ban.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[132/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ut_metadata.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[133/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\dht_storage.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[134/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\node_entry.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[135/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\pe_crypto.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[136/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\msg.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[137/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\refresh.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[138/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\dht_tracker.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[139/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\rpc_manager.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[140/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\node.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[141/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\traversal_algorithm.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[142/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\find_data.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[143/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\node_id.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[144/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\item.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[145/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\ed25519.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[146/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\put_data.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[147/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\routing_table.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[148/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\fe.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[149/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\key_exchange.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[150/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\get_item.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[151/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\dht_settings.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[152/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\sc.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[153/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\ge.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[154/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\add_scalar.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[155/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\sample_infohashes.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[156/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\sign.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[157/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\sha512.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[158/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\keypair.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[159/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\verify.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[160/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\get_peers.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[161/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\hasher512.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[162/189] Building CXX object examples\CMakeFiles\dump_bdecode.dir\Release\dump_bdecode.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[163/189] Building CXX object examples\CMakeFiles\simple_client.dir\Release\simple_client.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[164/189] Building CXX object tools\CMakeFiles\dht_sample.dir\Release\dht_sample.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[165/189] Building CXX object tools\CMakeFiles\dht.dir\Release\dht_put.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[167/189] Building CXX object tools\CMakeFiles\session_log_alerts.dir\Release\session_log_alerts.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[168/189] Building CXX object examples\CMakeFiles\stats_counters.dir\Release\stats_counters.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[169/189] Building CXX object examples\CMakeFiles\upnp_test.dir\Release\upnp_test.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[170/189] Building CXX object examples\CMakeFiles\custom_storage.dir\Release\custom_storage.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[171/189] Building CXX object examples\CMakeFiles\make_torrent.dir\Release\make_torrent.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[181/189] Building CXX object examples\CMakeFiles\client_test.dir\Release\print.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[182/189] Building CXX object examples\CMakeFiles\dump_torrent.dir\Release\dump_torrent.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[183/189] Building CXX object examples\CMakeFiles\client_test.dir\Release\torrent_view.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[184/189] Building CXX object examples\CMakeFiles\connection_tester.dir\Release\connection_tester.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\algorithm(2363): warning C4244: '=': conversion from 'int' to 'char', possible loss of data
..\examples\connection_tester.cpp(260): note: see reference to function template instantiation 'void std::generate<char*,int(__cdecl *)(void)>(_FwdIt,_FwdIt,_Fn)' being compiled
        with
        [
            _FwdIt=char *,
            _Fn=int (__cdecl *)(void)
        ]
[186/189] Building CXX object examples\CMakeFiles\client_test.dir\Release\session_view.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[188/189] Building CXX object examples\CMakeFiles\client_test.dir\Release\client_test.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[189/189] Linking CXX executable examples\Release\client_test.exe
  • Same thing but with -DCMAKE_CXX_STANDARD=17 in the configure command line:

Build output (release build):

(Note the very noisy warnings about C++17 deprecations.)

Click to show
PS C:\Users\User\Documents\libtorrent> cmake --build .\cmake-build-dir\ --config Release
[1/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\cpuid.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[2/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bandwidth_limit.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[3/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bandwidth_queue_entry.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[4/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bandwidth_manager.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[5/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\chained_buffer.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[6/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bitfield.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[7/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bdecode.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[8/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\crc32c.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[9/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\close_reason.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[10/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bloom_filter.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[11/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\create_torrent.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[12/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\announce_entry.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[13/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\assert.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[14/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_buffer_holder.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[15/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\error_code.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[16/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\entry.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[17/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\alert_manager.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[18/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\choker.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[19/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\alert.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[20/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\web_connection_base.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[21/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\file_storage.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[22/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\escape_string.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[23/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\string_util.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[24/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\file_view_pool.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[25/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\sha1.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[26/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\fingerprint.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[27/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\generate_peer_id.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[28/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\file.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[29/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\gzip.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[30/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\sha256.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[31/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\path.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[32/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\hasher.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[33/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\i2p_stream.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[34/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\file_progress.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[35/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\hex.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[36/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\http_parser.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[37/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ip_helpers.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[38/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ip_filter.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[39/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\hash_picker.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[40/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\identify_client.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[41/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\performance_counters.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[42/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_class_set.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[43/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ip_notifier.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[44/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\http_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[45/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ip_voter.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[46/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_class.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[47/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\listen_socket_handle.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[48/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\bt_peer_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[49/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\web_peer_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[50/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\instantiate_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[51/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\http_seed_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[52/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[53/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\packet_buffer.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[54/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_connection_handle.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[55/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\part_file.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
..\include\libtorrent/part_file.hpp(133): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,libtorrent::slot_index_t,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>>' being compiled
[56/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\random.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[57/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\platform_util.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[58/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\puff.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[59/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\merkle.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[60/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\natpmp.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[61/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\proxy_base.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[62/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\merkle_tree.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[63/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\timestamp_history.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[64/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\receive_buffer.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[65/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\time.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[66/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\piece_picker.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[67/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\stat_cache.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[68/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_list.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[69/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\storage_utils.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
..\include\libtorrent/part_file.hpp(133): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,libtorrent::slot_index_t,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>>' being compiled
[70/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\request_blocks.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[71/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[72/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent_handle.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[73/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[74/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\resolver.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[75/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_settings.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[76/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\resolve_links.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[77/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\read_resume_data.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[78/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\write_resume_data.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[79/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_call.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[80/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_stats.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[81/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\proxy_settings.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[82/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_handle.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[83/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_params.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[84/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\sha1_hash.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[85/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\stat.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[86/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\socket_io.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[87/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\settings_pack.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[88/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\socks5_stream.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[89/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent_peer_allocator.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[90/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent_status.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[91/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\session_impl.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[92/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent_peer.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[93/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\socket_type.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[94/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\utf8.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[95/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\tracker_manager.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[96/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\http_tracker_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[97/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\torrent_info.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\utility(192): warning C4244: 'initializing': conversion from '_Ty' to '_Ty1', possible loss of data
        with
        [
            _Ty=ptrdiff_t
        ]
        and
        [
            _Ty1=int32_t
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(693): note: see reference to function template instantiation 'std::pair<int32_t,int>::pair<_Ty,int,0>(_Other1 &&,_Other2 &&) noexcept' being compiled
        with
        [
            _Ty=ptrdiff_t,
            _Other1=ptrdiff_t,
            _Other2=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(694): note: see reference to function template instantiation 'std::pair<int32_t,int>::pair<_Ty,int,0>(_Other1 &&,_Other2 &&) noexcept' being compiled
        with
        [
            _Ty=ptrdiff_t,
            _Other1=ptrdiff_t,
            _Other2=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\vector(682): note: see reference to function template instantiation 'void std::_Default_allocator_traits<_Alloc>::construct<_Ty,__int64,int>(_Alloc &,_Objty *const ,__int64 &&,int &&)' being compiled
        with
        [
            _Alloc=std::allocator<std::pair<int32_t,int>>,
            _Ty=std::pair<int32_t,int>,
            _Objty=std::pair<int32_t,int>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\vector(687): note: see reference to function template instantiation 'void std::_Default_allocator_traits<_Alloc>::construct<_Ty,__int64,int>(_Alloc &,_Objty *const ,__int64 &&,int &&)' being compiled
        with
        [
            _Alloc=std::allocator<std::pair<int32_t,int>>,
            _Ty=std::pair<int32_t,int>,
            _Objty=std::pair<int32_t,int>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\vector(700): note: see reference to function template instantiation '_Ty &std::vector<_Ty,std::allocator<_Ty>>::_Emplace_back_with_unused_capacity<__int64,int>(__int64 &&,int &&)' being compiled
        with
        [
            _Ty=std::pair<int32_t,int>
        ]
..\src\torrent_info.cpp(1416): note: see reference to function template instantiation '_Ty &std::vector<_Ty,std::allocator<_Ty>>::emplace_back<ptrdiff_t,int>(ptrdiff_t &&,int &&)' being compiled
        with
        [
            _Ty=std::pair<int32_t,int>
        ]
[98/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_job_pool.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[99/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\udp_tracker_connection.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[100/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\lsd.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[101/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\udp_socket.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[102/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\upnp.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[103/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\utp_socket_manager.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[104/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_job_fence.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[105/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_buffer_pool.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[106/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_io_job.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[107/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_io_thread_pool.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[108/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disabled_disk_io.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[109/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\utp_stream.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[110/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\disk_interface.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[111/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\parse_url.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[112/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\xml_parse.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[113/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\version.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[114/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ffs.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[115/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\stack_allocator.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[116/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\magnet_uri.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[117/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\enum_net.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[118/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\peer_info.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[119/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ssl.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[120/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\add_torrent_params.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[121/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\mmap.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[122/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\posix_storage.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
..\include\libtorrent/part_file.hpp(133): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,libtorrent::slot_index_t,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>>' being compiled
[123/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\mmap_disk_io.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
..\include\libtorrent/part_file.hpp(133): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,libtorrent::slot_index_t,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>>' being compiled
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=uint32_t
        ]
..\include\libtorrent/aux_/store_buffer.hpp(79): note: see reference to class template instantiation 'std::hash<libtorrent::storage_index_t>' being compiled
[124/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\posix_disk_io.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
..\include\libtorrent/part_file.hpp(133): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,libtorrent::slot_index_t,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>>' being compiled
[125/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\deps\try_signal\try_signal.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[126/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\deps\try_signal\signal_error_code.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[127/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ut_pex.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[128/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\mmap_storage.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=libtorrent::slot_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>
        ]
..\include\libtorrent/part_file.hpp(133): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,libtorrent::slot_index_t,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,libtorrent::slot_index_t>>>' being compiled
[129/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\pe_crypto.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[130/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\smart_ban.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[131/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\dos_blocker.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[132/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ut_metadata.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
..\include\libtorrent/units.hpp(165): warning C4996: 'std::_Conditionally_enabled_hash<_Kty,true>::result_type': warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.
        with
        [
            _Kty=int
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to class template instantiation 'std::hash<libtorrent::piece_index_t>' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xmemory(1326): note: see reference to variable template 'const bool is_empty_v<std::hash<libtorrent::aux::strong_typedef<int,libtorrent::aux::piece_index_tag,void> > >' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(31): note: see reference to class template instantiation 'std::_Uhash_compare<_Kty,_Hasher,_Keyeq>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\xhash(342): note: see reference to class template instantiation 'std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\unordered_map(69): note: see reference to class template instantiation 'std::_Hash<std::_Umap_traits<_Kty,_Ty,std::_Uhash_compare<_Kty,_Hasher,_Keyeq>,_Alloc,false>>' being compiled
        with
        [
            _Kty=libtorrent::piece_index_t,
            _Ty=int,
            _Hasher=std::hash<libtorrent::piece_index_t>,
            _Keyeq=std::equal_to<libtorrent::piece_index_t>,
            _Alloc=std::allocator<std::pair<const libtorrent::piece_index_t,int>>
        ]
..\include\libtorrent/piece_picker.hpp(801): note: see reference to class template instantiation 'std::unordered_map<libtorrent::piece_index_t,int,std::hash<libtorrent::piece_index_t>,std::equal_to<libtorrent::piece_index_t>,std::allocator<std::pair<const libtorrent::piece_index_t,int>>>' being compiled
[133/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\dht_state.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[134/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\dht_storage.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[135/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\node_entry.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[136/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\msg.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[137/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\node.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[138/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\dht_tracker.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[139/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\node_id.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[140/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\refresh.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[141/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\ed25519.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[142/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\item.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[143/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\find_data.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[144/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\rpc_manager.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[145/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\put_data.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[146/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\fe.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[147/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\traversal_algorithm.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[148/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\ge.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[149/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\dht_settings.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[150/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\key_exchange.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[151/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\sc.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[152/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\add_scalar.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[153/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\get_peers.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[154/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\verify.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[155/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\sign.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[156/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\get_item.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[157/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\sha512.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[158/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\routing_table.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[159/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\kademlia\sample_infohashes.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[160/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\keypair.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[161/189] Building CXX object CMakeFiles\torrent-rasterbar.dir\Release\src\ed25519\hasher512.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[162/189] Building CXX object tools\CMakeFiles\dht.dir\Release\dht_put.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[163/189] Building CXX object tools\CMakeFiles\dht_sample.dir\Release\dht_sample.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[164/189] Building CXX object tools\CMakeFiles\session_log_alerts.dir\Release\session_log_alerts.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[165/189] Building CXX object examples\CMakeFiles\stats_counters.dir\Release\stats_counters.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[166/189] Building CXX object examples\CMakeFiles\upnp_test.dir\Release\upnp_test.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[167/189] Building CXX object examples\CMakeFiles\dump_bdecode.dir\Release\dump_bdecode.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[168/189] Building CXX object examples\CMakeFiles\simple_client.dir\Release\simple_client.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[170/189] Building CXX object examples\CMakeFiles\client_test.dir\Release\print.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[171/189] Building CXX object examples\CMakeFiles\custom_storage.dir\Release\custom_storage.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[172/189] Building CXX object examples\CMakeFiles\make_torrent.dir\Release\make_torrent.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[173/189] Building CXX object examples\CMakeFiles\dump_torrent.dir\Release\dump_torrent.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[174/189] Building CXX object examples\CMakeFiles\client_test.dir\Release\session_view.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[185/189] Building CXX object examples\CMakeFiles\client_test.dir\Release\torrent_view.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[186/189] Building CXX object examples\CMakeFiles\connection_tester.dir\Release\connection_tester.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\include\algorithm(2363): warning C4244: '=': conversion from 'int' to 'char', possible loss of data
..\examples\connection_tester.cpp(260): note: see reference to function template instantiation 'void std::generate<char*,int(__cdecl *)(void)>(_FwdIt,_FwdIt,_Fn)' being compiled
        with
        [
            _FwdIt=char *,
            _Fn=int (__cdecl *)(void)
        ]
[187/189] Building CXX object examples\CMakeFiles\client_test.dir\Release\client_test.cpp.obj
cl : Command line warning D9025 : overriding '/W3' with '/W4'
[189/189] Linking CXX executable examples\Release\client_test.exe

Warnings in Debug builds are identical.

@5523eeOMEGALUL
Copy link

(Note the very noisy warnings about C++17 deprecations.)

add /Zc:__cplusplus to c++ command line additional options

@stale
Copy link

stale bot commented Dec 7, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Dec 7, 2020
@FranciscoPombal
Copy link
Contributor Author

.

@stale stale bot removed the stale label Dec 7, 2020
@arvidn
Copy link
Owner

arvidn commented Dec 8, 2020

cl : Command line warning D9025 : overriding '/W3' with '/W4'

That smells like some issue in the cmake file. There's no such warning when building with b2.

as for

warning STL4007: Many result_type typedefs and all argument_type, first_argument_type, and second_argument_type typedefs are deprecated in C++17. You can define _SILENCE_CXX17_ADAPTOR_TYPEDEFS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning.

You'll notice that this is handled by only using that typedef if __cplusplus < 201402. Presumably this is fundamentally caused by __cplusplus being incorrectly defined in msvc. There's a flag to fix that, which the cmake file probably should set.

https://devblogs.microsoft.com/cppblog/msvc-now-correctly-reports-__cplusplus/

@vktr
Copy link
Contributor

vktr commented Dec 8, 2020

cl : Command line warning D9025 : overriding '/W3' with '/W4'

That smells like some issue in the cmake file. There's no such warning when building with b2.

It is indeed an issue with CMake (as reported here: https://gitlab.kitware.com/cmake/cmake/-/issues/18317). It can be fixed by adding cmake_policy(SET CMP0092 NEW) - which, if added would require one to set their own warning levels.

@FranciscoPombal
Copy link
Contributor Author

@arvidn @vktr

I no longer get the __cplusplus-related warnings. Probably because of recent fixes in the newer MSVC 16.8.x (19.28/14.28) versions. Looks like their efforts to increase standards compliance and implementation correctness are paying off.

I submitted #5336 to fix the warning flags override warnings by setting CMP0092 to new - it does seem like the better, more elegant way to solve this problem. This required bumping the minimum required CMake version to 3.15. I think this is pretty reasonable, but let me know if it is not desirable.

@arvidn I promise I have not forgotten about my other Actions PR. The new information in this post turned this into low-hanging fruit that I'm able to pick immediately, as it turns out that it is not contingent on a refactoring to use more target_* commands instead of add_* commands, which is a larger undertaking (but also one I'd like to address eventually).

@FranciscoPombal
Copy link
Contributor Author

Silly me, I was not actually passing -DCMAKE_CXX_STANDARD=17. I still get those warnings. I'll fix up the PR to also fix that.

@FranciscoPombal
Copy link
Contributor Author

This has been addressed by #5336.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants