KazDragon / telnetpp

A C++ library for interacting with Telnet streams
MIT License
62 stars 10 forks source link

Build error with Boost 1.75.0 #238

Closed yurybura closed 3 years ago

yurybura commented 3 years ago

telnetpp doesn't compile with MSVC compiler and Boost 1.75.0. Error:

[6/24] "C:\PROGRA~2\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64\cl.exe"   /TP -Dtelnetpp_EXPORTS -ID:\buildtrees\telnetpp\src\c050d4c659-52a444ec23.clean\include -ID:\installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -std:c++14 /showIncludes /FoCMakeFiles\telnetpp.dir\src\options\msdp\variable.cpp.obj /FdCMakeFiles\telnetpp.dir\ /FS -c D:\buildtrees\telnetpp\src\c050d4c659-52a444ec23.clean\src\options\msdp\variable.cpp
FAILED: CMakeFiles/telnetpp.dir/src/options/msdp/variable.cpp.obj 
"C:\PROGRA~2\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64\cl.exe"   /TP -Dtelnetpp_EXPORTS -ID:\buildtrees\telnetpp\src\c050d4c659-52a444ec23.clean\include -ID:\installed\x64-windows\include /nologo /DWIN32 /D_WINDOWS /W3 /utf-8 /GR /EHsc /MP  /D_DEBUG /MDd /Z7 /Ob0 /Od /RTC1  -std:c++14 /showIncludes /FoCMakeFiles\telnetpp.dir\src\options\msdp\variable.cpp.obj /FdCMakeFiles\telnetpp.dir\ /FS -c D:\buildtrees\telnetpp\src\c050d4c659-52a444ec23.clean\src\options\msdp\variable.cpp
D:\buildtrees\telnetpp\src\c050d4c659-52a444ec23.clean\include\telnetpp/options/msdp/variable.hpp(70): warning C4251: 'telnetpp::options::msdp::variable::name': class 'std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>' needs to have dll-interface to be used by clients of struct 'telnetpp::options::msdp::variable'
D:\buildtrees\telnetpp\src\c050d4c659-52a444ec23.clean\include\telnetpp/core.hpp(43): note: see declaration of 'std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>'
D:\buildtrees\telnetpp\src\c050d4c659-52a444ec23.clean\include\telnetpp/options/msdp/variable.hpp(71): warning C4251: 'telnetpp::options::msdp::variable::value': class 'boost::variant<telnetpp::options::msdp::string_value,telnetpp::options::msdp::array_value,boost::recursive_wrapper<telnetpp::options::msdp::table_value>>' needs to have dll-interface to be used by clients of struct 'telnetpp::options::msdp::variable'
D:\buildtrees\telnetpp\src\c050d4c659-52a444ec23.clean\include\telnetpp/options/msdp/variable.hpp(22): note: see declaration of 'boost::variant<telnetpp::options::msdp::string_value,telnetpp::options::msdp::array_value,boost::recursive_wrapper<telnetpp::options::msdp::table_value>>'
D:\installed\x64-windows\include\boost/move/detail/type_traits.hpp(968): error C2079: 'boost::move_detail::alignment_of_hack<T>::t1' uses undefined struct 'telnetpp::options::msdp::variable' 
...

More information you can find in PR: https://github.com/microsoft/vcpkg/pull/15090 Full build log: https://dev.azure.com/vcpkg/c1ee48cb-0df2-4ab3-8384-b1df5a79fe53/_apis/build/builds/46451/artifacts?artifactName=failure%20logs%20for%20x64-windows&api-version=6.0&%24format=zip

KazDragon commented 3 years ago

Hi @yurybura. Thanks for your bug report.

This seems to be related to the vcpkg port, which I am not the maintainer for (although I am happy that someone felt it was worthwhile to do so). In fact, I only started supporting MSVC officially as a target a couple of days ago.

This looks like some dllimport/dllexport issue. I don't have a huge amount of familiarity with that, so it might take a little while to figure out. Any help would be appreciated

KazDragon commented 3 years ago

Ok, it seems that shared libraries do generate a lot of noise, but that isn't what actually broke in the full build linked. That was here:

D:\installed\x64-windows\include\boost/move/detail/type_traits.hpp(968): error C2079: 'boost::move_detail::alignment_of_hack<T>::t1' uses undefined struct 'telnetpp::options::msdp::variable' with [ T=telnetpp::options::msdp::variable ] D:\installed\x64-windows\include\boost/move/detail/type_traits.hpp(985): note: see reference to class template instantiation 'boost::move_detail::alignment_of_hack<T>' being compiled with [ T=telnetpp::options::msdp::variable ] D:\installed\x64-windows\include\boost/move/detail/type_traits.hpp(997): note: see reference to class template instantiation 'boost::move_detail::alignment_of_impl<T>' being compiled with [ T=telnetpp::options::msdp::variable ] D:\installed\x64-windows\include\boost/container/small_vector.hpp(417): note: see reference to class template instantiation 'boost::move_detail::alignment_of<T>' being compiled with [ T=telnetpp::options::msdp::variable ] D:\installed\x64-windows\include\boost/container/small_vector.hpp(549): note: see reference to class template instantiation 'boost::container::small_vector_base<T,Allocator,Options>' being compiled with [ T=telnetpp::options::msdp::variable, Allocator=void, Options=void ] D:\installed\x64-windows\include\boost/type_traits/is_nothrow_move_assignable.hpp(29): note: see reference to class template instantiation

yurybura commented 3 years ago

@KazDragon Thank you for your attention to this issue. I would appreciate any help too).

KazDragon commented 3 years ago

So I have downloaded and installed Boost 1.75.0 and built Telnet++ against it. It compiled and linked just fine. I cannot reproduce your issue. Does this issue still present itself to you if you are building with static libraries instead of dynamic libraries?

cenit commented 3 years ago

What is the compiler version you both used? that might explain the differences in behaviour

KazDragon commented 3 years ago

I ported Telnet++ to Visual Studio 2019 just last week (whoever did the vcpkg was way ahead of me, and I am grateful to them).

KazDragon commented 3 years ago

The issue may well be that the version of Telnet++ in vcpkg has not been updated in 7 months.

niclar commented 3 years ago

@KazDragon can you push an update ?

yurybura commented 3 years ago

@cenit @KazDragon Done. https://github.com/microsoft/vcpkg/pull/15090/commits/9c02ab1a71177d4c3ea84247f6e5c856532e30c2

yurybura commented 3 years ago

I think Telnet++ is failed with dynamic linking in Visual Studio.

KazDragon commented 3 years ago

I've just integrated a change that enables Telnet++ to be built as a dll on Visual Studio 2019. Does this solve your problem?

yurybura commented 3 years ago

@KazDragon Thank you for support. I've made a local test with your latest changes. Full log:

d:\libs\telnetpp>mkdir build

d:\libs\telnetpp>cd build

d:\libs\telnetpp\build>cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_TOOLCHAIN_FILE=d:\libs\yurybura\vcpkg\scripts\buildsystems\vcpkg.cmake -DTELNETPP_WITH_ZLIB=False -DBUILD_SHARED_LIBS=True -DTELNETPP_WITH_TESTS=False ..
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363.
-- The C compiler identification is MSVC 19.28.29335.0
-- The CXX compiler identification is MSVC 19.28.29335.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:12 (cmake_policy):
  The OLD behavior for policy CMP0063 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

Building Telnet++ with build type:
Building Telnet++ with zlib: False
Building Telnet++ with code coverage: OFF
Building Telnet++ with sanitizers: OFF
Building Telnet++ with tests: False
Building Telnet++ with only documentation: OFF
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
CMake Warning at C:/Program Files/CMake/share/cmake-3.17/Modules/FindBoost.cmake:1164 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.17/Modules/FindBoost.cmake:1286 (_Boost_COMPONENT_DEPENDENCIES)
  C:/Program Files/CMake/share/cmake-3.17/Modules/FindBoost.cmake:1887 (_Boost_MISSING_DEPENDENCIES)
  D:/libs/yurybura/vcpkg/scripts/buildsystems/vcpkg.cmake:589 (_find_package)
  CMakeLists.txt:85 (find_package)

-- Found Boost: D:/libs/yurybura/vcpkg/installed/x64-windows/include (found suitable version "1.75.0", minimum required is "1.69.0") found components: container
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
-- Performing Test COMPILER_HAS_DEPRECATED
-- Performing Test COMPILER_HAS_DEPRECATED - Success
-- Configuring done
-- Generating done
-- Build files have been written to: D:/libs/telnetpp/build

d:\libs\telnetpp\build>cmake --build . --config Release
Microsoft (R) Build Engine version 16.8.2+25e4d540b for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

  Checking Build System
  Building Custom Rule D:/libs/telnetpp/CMakeLists.txt
  command.cpp
  element.cpp
D:\libs\telnetpp\include\telnetpp/subnegotiation.hpp(43,19): warning C4251: 'telnetpp::subnegotiation::content_': class 'gsl::span<const telnetpp::byte>' needs to have dll-interface to be used by clients of class 'telnetpp::subnegotiati
on' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/core.hpp(39): message : see declaration of 'gsl::span<const telnetpp::byte>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
  negotiation.cpp
  codec.cpp
D:\libs\telnetpp\include\telnetpp/options/mccp/codec.hpp(83,30): warning C4275: non dll-interface class 'std::domain_error' used as base for dll-interface class 'telnetpp::options::mccp::corrupted_stream_error' [D:\libs\telnetpp\build\t
elnetpp.vcxproj]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\stdexcept(39): message : see declaration of 'std::domain_error' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/mccp/codec.hpp(82): message : see declaration of 'telnetpp::options::mccp::corrupted_stream_error' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/mccp/codec.hpp(85,1): warning C4275: non dll-interface class 'boost::exception' used as base for dll-interface class 'telnetpp::options::mccp::corrupted_stream_error' [D:\libs\telnetpp\build\tel
netpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/exception/exception.hpp(222): message : see declaration of 'boost::exception' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/mccp/codec.hpp(82): message : see declaration of 'telnetpp::options::mccp::corrupted_stream_error' [D:\libs\telnetpp\build\telnetpp.vcxproj]
  variable.cpp
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(70,32): warning C4251: 'telnetpp::options::msdp::variable::name': class 'std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>' need
s to have dll-interface to be used by clients of struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/core.hpp(43): message : see declaration of 'std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(71,21): warning C4251: 'telnetpp::options::msdp::variable::value': class 'boost::variant<telnetpp::options::msdp::string_value,telnetpp::options::msdp::array_value,boost::recur
sive_wrapper<telnetpp::options::msdp::table_value>>' needs to have dll-interface to be used by clients of struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(22): message : see declaration of 'boost::variant<telnetpp::options::msdp::string_value,telnetpp::options::msdp::array_value,boost::recursive_wrapper<telnetpp::options::msdp::t
able_value>>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(968,6): error C2079: 'boost::move_detail::alignment_of_hack<T>::t1' uses undefined struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build
\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(985): message : see reference to class template instantiation 'boost::move_detail::alignment_of_hack<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(997): message : see reference to class template instantiation 'boost::move_detail::alignment_of_impl<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(417): message : see reference to class template instantiation 'boost::move_detail::alignment_of<T>' being compiled [D:\libs\telnetpp\build\telnetpp.vc
xproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(549): message : see reference to class template instantiation 'boost::container::small_vector_base<T,Allocator,Options>' being compiled [D:\libs\telne
tpp\build\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable,
              Allocator=void,
              Options=void
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/type_traits/is_nothrow_move_assignable.hpp(29): message : see reference to class template instantiation 'boost::container::small_vector<telnetpp::options::msdp::variable,4,void,
void>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/has_type.hpp(20): message : see reference to class template instantiation 'boost::is_nothrow_move_assignable<U1>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxpro
j]
          with
          [
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/has_type.hpp(20): message : while compiling class template member function 'boost::mpl::aux::yes_tag boost::mpl::aux::has_type<boost::is_nothrow_move_assignable<U1>,boo
st::mpl::bool_<true>>::gcc_3_2_wknd::test(volatile const boost::mpl::aux::type_wrapper<U> *,boost::mpl::aux::type_wrapper<U::type> *)' [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/quote.hpp(36): message : see reference to class template instantiation 'boost::mpl::aux::has_type<boost::is_nothrow_move_assignable<U1>,boost::mpl::b
ool_<true>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(39): message : see reference to class template instantiation 'boost::mpl::quote1<F,Tag>::apply<T1>' being compiled [D:\libs\telnetpp\b
uild\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/bind.hpp(144): message : see reference to class template instantiation 'boost::mpl::apply_wrap1<boost::mpl::quote1<F,Tag>,boost::recursive_wrapper<te
lnetpp::options::msdp::table_value>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(80): message : see reference to class template instantiation 'boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>::apply<T
1,T2,T3,T4,T5>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              T2=boost::mpl::na,
              T3=boost::mpl::na,
              T4=boost::mpl::na,
              T5=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/bind.hpp(160): message : see reference to class template instantiation 'boost::mpl::apply_wrap5<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mp
l::arg<1>>,U1,U2,U3,U4,U5>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              U2=boost::mpl::na,
              U3=boost::mpl::na,
              U4=boost::mpl::na,
              U5=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/bind.hpp(143): message : see reference to class template instantiation 'boost::mpl::aux::resolve_bind_arg<boost::mpl::bind1<boost::mpl::quote1<F,Tag>
,boost::mpl::arg<1>>,U1,U2,U3,U4,U5>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              U2=boost::mpl::na,
              U3=boost::mpl::na,
              U4=boost::mpl::na,
              U5=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(39): message : see reference to class template instantiation 'boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::bind1<boost::mpl
::quote1<boost::is_nothrow_move_assignable,Tag>,boost::mpl::arg<1>>>::apply<T1,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::mpl::not_,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply.hpp(43): message : see reference to class template instantiation 'boost::mpl::apply_wrap1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quo
te1<F,Tag>,boost::mpl::bind1<boost::mpl::quote1<boost::is_nothrow_move_assignable,Tag>,boost::mpl::arg<1>>>,0>,T1>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::mpl::not_,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/iter_apply.hpp(28): message : see reference to class template instantiation 'boost::mpl::apply1<F,boost::recursive_wrapper<telnetpp::options::msdp::table_value>>' being
 compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/not.hpp(40): message : see reference to class template instantiation 'boost::mpl::aux::iter_apply1<Predicate,Iterator>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxpr
oj]
          with
          [
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>,
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/and.hpp(24): message : see reference to class template instantiation 'boost::mpl::not_<boost::mpl::aux::iter_apply1<Predicate,Iterator>>' being compi
led [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>,
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/and.hpp(55): message : see reference to class template instantiation 'boost::mpl::aux::and_impl<true,T2,T3,T3,T5>' being compiled [D:\libs\telnetpp\b
uild\telnetpp.vcxproj]
          with
          [
              T2=boost::mpl::apply1<boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wr
  apper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>,
              T3=boost::mpl::true_,
              T5=boost::mpl::true_
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/iter_fold_if.hpp(46): message : see reference to class template instantiation 'boost::mpl::and_<boost::mpl::not_<boost::is_same<Iterator,LastIterator>>,boost::mpl::apply1<Pr
edicate,Iterator>,boost::mpl::true_,boost::mpl::true_,boost::mpl::true_>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>,
              LastIterator=boost::mpl::l_iter<boost::mpl::l_end>,
              Predicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(49): message : see reference to class template instantiation 'boost::mpl::aux::iter_fold_if_pred<ForwardPredicate,boost::mpl::l_iter<b
oost::mpl::l_end>>::apply<T1,T2>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,
              T1=void,
              T2=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply.hpp(63): message : see reference to class template instantiation 'boost::mpl::apply_wrap2<boost::mpl::protect<boost::mpl::aux::iter_fold_if_pre
d<ForwardPredicate,boost::mpl::l_iter<boost::mpl::l_end>>,0>,T1,T2>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,
              T1=void,
              T2=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp(62): message : see reference to class template instantiation 'boost::mpl::apply2<Predicate,State,Iterator>' being compiled [D:\
libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Predicate=boost::mpl::protect<boost::mpl::aux::iter_fold_if_pred<boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,boost::mpl::l_iter<boost::mpl::l_en
  d>>,0>,
              State=void,
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp(103): message : see reference to class template instantiation 'boost::mpl::aux::iter_fold_if_forward_step<boost::mpl::l_iter<bo
ost::mpl::l_item<boost::mpl::long_<1>,T0,boost::mpl::l_end>>,void,ForwardOp,ForwardPredicate>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T0=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              ForwardOp=boost::mpl::arg<1>,
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::iter_fold_if_pred<boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,boost::mpl::l_iter<boost::mp
  l::l_end>>,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/iter_fold_if.hpp(94): message : see reference to class template instantiation 'boost::mpl::aux::iter_fold_if_impl<boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<3>,
T,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<T,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,T0,boost::mpl::l_end>>>>,State,ForwardOp,boost::mpl::protect<boost::mpl::aux::iter_fold_if_pred<ForwardPredi
cate,boost::mpl::l_iter<boost::mpl::l_end>>,0>,BackwardOp,boost::mpl::always<boost::mpl::false_>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T=std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,
              T0=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              State=void,
              ForwardOp=boost::mpl::arg<1>,
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,
              BackwardOp=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/iter_fold_if.hpp(102): message : see reference to class template instantiation 'boost::mpl::iter_fold_if<Sequence,void,boost::mpl::arg<1>,boost::mpl::protect<boost::mpl::aux
::find_if_pred<Predicate>,0>,boost::mpl::na,boost::mpl::na>::result_' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Sequence=boost::mpl::l_item<boost::mpl::long_<3>,std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<teln
  etpp::options::msdp::string_value,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>,
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/find_if.hpp(39): message : see reference to class template instantiation 'boost::mpl::iter_fold_if<Sequence,void,boost::mpl::arg<1>,boost::mpl::protect<boost::mpl::aux::find
_if_pred<Predicate>,0>,boost::mpl::na,boost::mpl::na>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Sequence=boost::mpl::l_item<boost::mpl::long_<3>,std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<teln
  etpp::options::msdp::string_value,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>,
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/variant/variant.hpp(251): message : see reference to class template instantiation 'boost::mpl::find_if<Types,boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>
' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Types=boost::mpl::l_item<boost::mpl::long_<3>,std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<telnetp
  p::options::msdp::string_value,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/variant/variant.hpp(2173): message : see reference to class template instantiation 'boost::detail::variant::is_variant_move_noexcept_assignable<boost::mpl::l_item<boost::mpl::lo
ng_<3>,T,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<T,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,T0,boost::mpl::l_end>>>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T=std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,
              T0=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(970,6): error C2079: 'boost::move_detail::alignment_of_hack<T>::t2' uses undefined struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build
\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(985): error C2027: use of undefined type 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(33): message : see declaration of 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(421,1): error C2027: use of undefined type 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(33): message : see declaration of 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1175,4): error C2338: Align > 0 [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(421): message : see reference to class template instantiation 'boost::move_detail::aligned_storage<0,0>' being compiled [D:\libs\telnetpp\build\telnet
pp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1110,3): error C2079: 'boost::move_detail::aligned_struct_wrapper<1,0>::aligner' uses undefined struct 'boost::move_detail::aligned_struct<1,0>' [D:\
libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(968): message : see reference to class template instantiation 'boost::move_detail::aligned_struct_wrapper<1,0>' being compiled [D:\libs\telnetpp\buil
d\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(985): message : see reference to class template instantiation 'boost::move_detail::alignment_of_hack<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=boost::move_detail::aligned_struct_wrapper<1,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(997): message : see reference to class template instantiation 'boost::move_detail::alignment_of_impl<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=boost::move_detail::aligned_struct_wrapper<1,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1179): message : see reference to class template instantiation 'boost::move_detail::alignment_of<boost::move_detail::aligned_struct_wrapper<1,0>>' be
ing compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1111,1): error C2027: use of undefined type 'boost::move_detail::aligned_struct<1,0>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1109): message : see declaration of 'boost::move_detail::aligned_struct<1,0>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(502,1): error C2027: use of undefined type 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(33): message : see declaration of 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(528): message : see reference to class template instantiation 'boost::container::small_vector_storage_calculator<boost::move_detail::aligned_struct_wr
apper<1,0>,Allocator,telnetpp::options::msdp::variable,4,Options>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Allocator=void,
              Options=void
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(549): message : see reference to class template instantiation 'boost::container::small_vector_storage_definer<T,Allocator,4,Options>' being compiled [
D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable,
              Allocator=void,
              Options=void
          ]
  session.cpp
D:\libs\telnetpp\include\telnetpp/subnegotiation.hpp(43,19): warning C4251: 'telnetpp::subnegotiation::content_': class 'gsl::span<const telnetpp::byte>' needs to have dll-interface to be used by clients of class 'telnetpp::subnegotiati
on' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/core.hpp(39): message : see declaration of 'gsl::span<const telnetpp::byte>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/option.hpp(235,1): warning C4251: 'telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::on_state_changed': class 'boost::signals2::signal<void (const telnetpp::option<LocalPositi
ve,LocalNegative,RemotePositive,RemoteNegative>::continuation &),boost::signals2::optional_last_value<void>,int,std::less<Group>,boost::function<Signature>,boost::function<R (const boost::signals2::connection &,const telnetpp::option<Lo
calPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &)>,boost::signals2::mutex>' needs to have dll-interface to be used by clients of class 'telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>'
 [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Group=int,
              Signature=void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),
              R=void
          ]
D:\libs\telnetpp\include\telnetpp/option.hpp(235): message : see declaration of 'boost::signals2::signal<void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),boost::signals2::optional_
last_value<void>,int,std::less<Group>,boost::function<Signature>,boost::function<R (const boost::signals2::connection &,const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &)>,boost::signals2:
:mutex>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Group=int,
              Signature=void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),
              R=void
          ]
D:\libs\telnetpp\include\telnetpp/option.hpp(265): message : see reference to class template instantiation 'telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>' being compiled [D:\libs\telnetpp\build\telnetpp.vcx
proj]
D:\libs\telnetpp\include\telnetpp/session.hpp(282,61): warning C4251: 'telnetpp::session::unparsed_buffer_': class 'std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>' needs to have dll-int
erface to be used by clients of class 'telnetpp::session' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/core.hpp(43): message : see declaration of 'std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/session.hpp(283,60): warning C4251: 'telnetpp::session::command_router_': class 'telnetpp::detail::command_router' needs to have dll-interface to be used by clients of class 'telnetpp::session' [D:\libs
\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/detail/command_router.hpp(17): message : see declaration of 'telnetpp::detail::command_router' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/session.hpp(284,64): warning C4251: 'telnetpp::session::negotiation_router_': class 'telnetpp::detail::negotiation_router' needs to have dll-interface to be used by clients of class 'telnetpp::session'
[D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/detail/negotiation_router.hpp(24): message : see declaration of 'telnetpp::detail::negotiation_router' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/session.hpp(285,67): warning C4251: 'telnetpp::session::subnegotiation_router_': class 'telnetpp::detail::subnegotiation_router' needs to have dll-interface to be used by clients of class 'telnetpp::ses
sion' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/detail/subnegotiation_router.hpp(18): message : see declaration of 'telnetpp::detail::subnegotiation_router' [D:\libs\telnetpp\build\telnetpp.vcxproj]
  subnegotiation.cpp
D:\libs\telnetpp\include\telnetpp/subnegotiation.hpp(43,19): warning C4251: 'telnetpp::subnegotiation::content_': class 'gsl::span<const telnetpp::byte>' needs to have dll-interface to be used by clients of class 'telnetpp::subnegotiati
on' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/core.hpp(39): message : see declaration of 'gsl::span<const telnetpp::byte>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
  decoder.cpp
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(70,32): warning C4251: 'telnetpp::options::msdp::variable::name': class 'std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>' need
s to have dll-interface to be used by clients of struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/core.hpp(43): message : see declaration of 'std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(71,21): warning C4251: 'telnetpp::options::msdp::variable::value': class 'boost::variant<telnetpp::options::msdp::string_value,telnetpp::options::msdp::array_value,boost::recur
sive_wrapper<telnetpp::options::msdp::table_value>>' needs to have dll-interface to be used by clients of struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(22): message : see declaration of 'boost::variant<telnetpp::options::msdp::string_value,telnetpp::options::msdp::array_value,boost::recursive_wrapper<telnetpp::options::msdp::t
able_value>>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(968,6): error C2079: 'boost::move_detail::alignment_of_hack<T>::t1' uses undefined struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build
\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(985): message : see reference to class template instantiation 'boost::move_detail::alignment_of_hack<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(997): message : see reference to class template instantiation 'boost::move_detail::alignment_of_impl<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(417): message : see reference to class template instantiation 'boost::move_detail::alignment_of<T>' being compiled [D:\libs\telnetpp\build\telnetpp.vc
xproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(549): message : see reference to class template instantiation 'boost::container::small_vector_base<T,Allocator,Options>' being compiled [D:\libs\telne
tpp\build\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable,
              Allocator=void,
              Options=void
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/type_traits/is_nothrow_move_assignable.hpp(29): message : see reference to class template instantiation 'boost::container::small_vector<telnetpp::options::msdp::variable,4,void,
void>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/has_type.hpp(20): message : see reference to class template instantiation 'boost::is_nothrow_move_assignable<U1>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxpro
j]
          with
          [
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/has_type.hpp(20): message : while compiling class template member function 'boost::mpl::aux::yes_tag boost::mpl::aux::has_type<boost::is_nothrow_move_assignable<U1>,boo
st::mpl::bool_<true>>::gcc_3_2_wknd::test(volatile const boost::mpl::aux::type_wrapper<U> *,boost::mpl::aux::type_wrapper<U::type> *)' [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/quote.hpp(36): message : see reference to class template instantiation 'boost::mpl::aux::has_type<boost::is_nothrow_move_assignable<U1>,boost::mpl::b
ool_<true>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(39): message : see reference to class template instantiation 'boost::mpl::quote1<F,Tag>::apply<T1>' being compiled [D:\libs\telnetpp\b
uild\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/bind.hpp(144): message : see reference to class template instantiation 'boost::mpl::apply_wrap1<boost::mpl::quote1<F,Tag>,boost::recursive_wrapper<te
lnetpp::options::msdp::table_value>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(80): message : see reference to class template instantiation 'boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>::apply<T
1,T2,T3,T4,T5>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              T2=boost::mpl::na,
              T3=boost::mpl::na,
              T4=boost::mpl::na,
              T5=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/bind.hpp(160): message : see reference to class template instantiation 'boost::mpl::apply_wrap5<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mp
l::arg<1>>,U1,U2,U3,U4,U5>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              U2=boost::mpl::na,
              U3=boost::mpl::na,
              U4=boost::mpl::na,
              U5=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/bind.hpp(143): message : see reference to class template instantiation 'boost::mpl::aux::resolve_bind_arg<boost::mpl::bind1<boost::mpl::quote1<F,Tag>
,boost::mpl::arg<1>>,U1,U2,U3,U4,U5>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              U2=boost::mpl::na,
              U3=boost::mpl::na,
              U4=boost::mpl::na,
              U5=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(39): message : see reference to class template instantiation 'boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::bind1<boost::mpl
::quote1<boost::is_nothrow_move_assignable,Tag>,boost::mpl::arg<1>>>::apply<T1,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::mpl::not_,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply.hpp(43): message : see reference to class template instantiation 'boost::mpl::apply_wrap1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quo
te1<F,Tag>,boost::mpl::bind1<boost::mpl::quote1<boost::is_nothrow_move_assignable,Tag>,boost::mpl::arg<1>>>,0>,T1>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::mpl::not_,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/iter_apply.hpp(28): message : see reference to class template instantiation 'boost::mpl::apply1<F,boost::recursive_wrapper<telnetpp::options::msdp::table_value>>' being
 compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/not.hpp(40): message : see reference to class template instantiation 'boost::mpl::aux::iter_apply1<Predicate,Iterator>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxpr
oj]
          with
          [
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>,
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/and.hpp(24): message : see reference to class template instantiation 'boost::mpl::not_<boost::mpl::aux::iter_apply1<Predicate,Iterator>>' being compi
led [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>,
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/and.hpp(55): message : see reference to class template instantiation 'boost::mpl::aux::and_impl<true,T2,T3,T3,T5>' being compiled [D:\libs\telnetpp\b
uild\telnetpp.vcxproj]
          with
          [
              T2=boost::mpl::apply1<boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wr
  apper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>,
              T3=boost::mpl::true_,
              T5=boost::mpl::true_
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/iter_fold_if.hpp(46): message : see reference to class template instantiation 'boost::mpl::and_<boost::mpl::not_<boost::is_same<Iterator,LastIterator>>,boost::mpl::apply1<Pr
edicate,Iterator>,boost::mpl::true_,boost::mpl::true_,boost::mpl::true_>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>,
              LastIterator=boost::mpl::l_iter<boost::mpl::l_end>,
              Predicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(49): message : see reference to class template instantiation 'boost::mpl::aux::iter_fold_if_pred<ForwardPredicate,boost::mpl::l_iter<b
oost::mpl::l_end>>::apply<T1,T2>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,
              T1=void,
              T2=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply.hpp(63): message : see reference to class template instantiation 'boost::mpl::apply_wrap2<boost::mpl::protect<boost::mpl::aux::iter_fold_if_pre
d<ForwardPredicate,boost::mpl::l_iter<boost::mpl::l_end>>,0>,T1,T2>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,
              T1=void,
              T2=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp(62): message : see reference to class template instantiation 'boost::mpl::apply2<Predicate,State,Iterator>' being compiled [D:\
libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Predicate=boost::mpl::protect<boost::mpl::aux::iter_fold_if_pred<boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,boost::mpl::l_iter<boost::mpl::l_en
  d>>,0>,
              State=void,
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp(103): message : see reference to class template instantiation 'boost::mpl::aux::iter_fold_if_forward_step<boost::mpl::l_iter<bo
ost::mpl::l_item<boost::mpl::long_<1>,T0,boost::mpl::l_end>>,void,ForwardOp,ForwardPredicate>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T0=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              ForwardOp=boost::mpl::arg<1>,
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::iter_fold_if_pred<boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,boost::mpl::l_iter<boost::mp
  l::l_end>>,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/iter_fold_if.hpp(94): message : see reference to class template instantiation 'boost::mpl::aux::iter_fold_if_impl<boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<3>,
T,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<T,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,T0,boost::mpl::l_end>>>>,State,ForwardOp,boost::mpl::protect<boost::mpl::aux::iter_fold_if_pred<ForwardPredi
cate,boost::mpl::l_iter<boost::mpl::l_end>>,0>,BackwardOp,boost::mpl::always<boost::mpl::false_>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T=std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,
              T0=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              State=void,
              ForwardOp=boost::mpl::arg<1>,
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,
              BackwardOp=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/iter_fold_if.hpp(102): message : see reference to class template instantiation 'boost::mpl::iter_fold_if<Sequence,void,boost::mpl::arg<1>,boost::mpl::protect<boost::mpl::aux
::find_if_pred<Predicate>,0>,boost::mpl::na,boost::mpl::na>::result_' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Sequence=boost::mpl::l_item<boost::mpl::long_<3>,std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<teln
  etpp::options::msdp::string_value,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>,
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/find_if.hpp(39): message : see reference to class template instantiation 'boost::mpl::iter_fold_if<Sequence,void,boost::mpl::arg<1>,boost::mpl::protect<boost::mpl::aux::find
_if_pred<Predicate>,0>,boost::mpl::na,boost::mpl::na>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Sequence=boost::mpl::l_item<boost::mpl::long_<3>,std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<teln
  etpp::options::msdp::string_value,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>,
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/variant/variant.hpp(251): message : see reference to class template instantiation 'boost::mpl::find_if<Types,boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>
' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Types=boost::mpl::l_item<boost::mpl::long_<3>,std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<telnetp
  p::options::msdp::string_value,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/variant/variant.hpp(2173): message : see reference to class template instantiation 'boost::detail::variant::is_variant_move_noexcept_assignable<boost::mpl::l_item<boost::mpl::lo
ng_<3>,T,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<T,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,T0,boost::mpl::l_end>>>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T=std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,
              T0=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(970,6): error C2079: 'boost::move_detail::alignment_of_hack<T>::t2' uses undefined struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build
\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(985): error C2027: use of undefined type 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(33): message : see declaration of 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(421,1): error C2027: use of undefined type 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(33): message : see declaration of 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1175,4): error C2338: Align > 0 [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(421): message : see reference to class template instantiation 'boost::move_detail::aligned_storage<0,0>' being compiled [D:\libs\telnetpp\build\telnet
pp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1110,3): error C2079: 'boost::move_detail::aligned_struct_wrapper<1,0>::aligner' uses undefined struct 'boost::move_detail::aligned_struct<1,0>' [D:\
libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(968): message : see reference to class template instantiation 'boost::move_detail::aligned_struct_wrapper<1,0>' being compiled [D:\libs\telnetpp\buil
d\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(985): message : see reference to class template instantiation 'boost::move_detail::alignment_of_hack<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=boost::move_detail::aligned_struct_wrapper<1,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(997): message : see reference to class template instantiation 'boost::move_detail::alignment_of_impl<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=boost::move_detail::aligned_struct_wrapper<1,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1179): message : see reference to class template instantiation 'boost::move_detail::alignment_of<boost::move_detail::aligned_struct_wrapper<1,0>>' be
ing compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1111,1): error C2027: use of undefined type 'boost::move_detail::aligned_struct<1,0>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1109): message : see declaration of 'boost::move_detail::aligned_struct<1,0>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(502,1): error C2027: use of undefined type 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(33): message : see declaration of 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(528): message : see reference to class template instantiation 'boost::container::small_vector_storage_calculator<boost::move_detail::aligned_struct_wr
apper<1,0>,Allocator,telnetpp::options::msdp::variable,4,Options>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Allocator=void,
              Options=void
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(549): message : see reference to class template instantiation 'boost::container::small_vector_storage_definer<T,Allocator,4,Options>' being compiled [
D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable,
              Allocator=void,
              Options=void
          ]
  encoder.cpp
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(70,32): warning C4251: 'telnetpp::options::msdp::variable::name': class 'std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>' need
s to have dll-interface to be used by clients of struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/core.hpp(43): message : see declaration of 'std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(71,21): warning C4251: 'telnetpp::options::msdp::variable::value': class 'boost::variant<telnetpp::options::msdp::string_value,telnetpp::options::msdp::array_value,boost::recur
sive_wrapper<telnetpp::options::msdp::table_value>>' needs to have dll-interface to be used by clients of struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(22): message : see declaration of 'boost::variant<telnetpp::options::msdp::string_value,telnetpp::options::msdp::array_value,boost::recursive_wrapper<telnetpp::options::msdp::t
able_value>>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(968,6): error C2079: 'boost::move_detail::alignment_of_hack<T>::t1' uses undefined struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build
\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(985): message : see reference to class template instantiation 'boost::move_detail::alignment_of_hack<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(997): message : see reference to class template instantiation 'boost::move_detail::alignment_of_impl<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(417): message : see reference to class template instantiation 'boost::move_detail::alignment_of<T>' being compiled [D:\libs\telnetpp\build\telnetpp.vc
xproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(549): message : see reference to class template instantiation 'boost::container::small_vector_base<T,Allocator,Options>' being compiled [D:\libs\telne
tpp\build\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable,
              Allocator=void,
              Options=void
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/type_traits/is_nothrow_move_assignable.hpp(29): message : see reference to class template instantiation 'boost::container::small_vector<telnetpp::options::msdp::variable,4,void,
void>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/has_type.hpp(20): message : see reference to class template instantiation 'boost::is_nothrow_move_assignable<U1>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxpro
j]
          with
          [
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/has_type.hpp(20): message : while compiling class template member function 'boost::mpl::aux::yes_tag boost::mpl::aux::has_type<boost::is_nothrow_move_assignable<U1>,boo
st::mpl::bool_<true>>::gcc_3_2_wknd::test(volatile const boost::mpl::aux::type_wrapper<U> *,boost::mpl::aux::type_wrapper<U::type> *)' [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/quote.hpp(36): message : see reference to class template instantiation 'boost::mpl::aux::has_type<boost::is_nothrow_move_assignable<U1>,boost::mpl::b
ool_<true>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(39): message : see reference to class template instantiation 'boost::mpl::quote1<F,Tag>::apply<T1>' being compiled [D:\libs\telnetpp\b
uild\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/bind.hpp(144): message : see reference to class template instantiation 'boost::mpl::apply_wrap1<boost::mpl::quote1<F,Tag>,boost::recursive_wrapper<te
lnetpp::options::msdp::table_value>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(80): message : see reference to class template instantiation 'boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::arg<1>>::apply<T
1,T2,T3,T4,T5>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              T2=boost::mpl::na,
              T3=boost::mpl::na,
              T4=boost::mpl::na,
              T5=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/bind.hpp(160): message : see reference to class template instantiation 'boost::mpl::apply_wrap5<boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mp
l::arg<1>>,U1,U2,U3,U4,U5>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              U2=boost::mpl::na,
              U3=boost::mpl::na,
              U4=boost::mpl::na,
              U5=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/bind.hpp(143): message : see reference to class template instantiation 'boost::mpl::aux::resolve_bind_arg<boost::mpl::bind1<boost::mpl::quote1<F,Tag>
,boost::mpl::arg<1>>,U1,U2,U3,U4,U5>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::is_nothrow_move_assignable,
              Tag=boost::mpl::void_,
              U1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              U2=boost::mpl::na,
              U3=boost::mpl::na,
              U4=boost::mpl::na,
              U5=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(39): message : see reference to class template instantiation 'boost::mpl::bind1<boost::mpl::quote1<F,Tag>,boost::mpl::bind1<boost::mpl
::quote1<boost::is_nothrow_move_assignable,Tag>,boost::mpl::arg<1>>>::apply<T1,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::mpl::not_,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply.hpp(43): message : see reference to class template instantiation 'boost::mpl::apply_wrap1<boost::mpl::protect<boost::mpl::bind1<boost::mpl::quo
te1<F,Tag>,boost::mpl::bind1<boost::mpl::quote1<boost::is_nothrow_move_assignable,Tag>,boost::mpl::arg<1>>>,0>,T1>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::mpl::not_,
              Tag=boost::mpl::void_,
              T1=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/iter_apply.hpp(28): message : see reference to class template instantiation 'boost::mpl::apply1<F,boost::recursive_wrapper<telnetpp::options::msdp::table_value>>' being
 compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              F=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/not.hpp(40): message : see reference to class template instantiation 'boost::mpl::aux::iter_apply1<Predicate,Iterator>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxpr
oj]
          with
          [
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>,
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/and.hpp(24): message : see reference to class template instantiation 'boost::mpl::not_<boost::mpl::aux::iter_apply1<Predicate,Iterator>>' being compi
led [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>,
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/and.hpp(55): message : see reference to class template instantiation 'boost::mpl::aux::and_impl<true,T2,T3,T3,T5>' being compiled [D:\libs\telnetpp\b
uild\telnetpp.vcxproj]
          with
          [
              T2=boost::mpl::apply1<boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wr
  apper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>,
              T3=boost::mpl::true_,
              T5=boost::mpl::true_
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/iter_fold_if.hpp(46): message : see reference to class template instantiation 'boost::mpl::and_<boost::mpl::not_<boost::is_same<Iterator,LastIterator>>,boost::mpl::apply1<Pr
edicate,Iterator>,boost::mpl::true_,boost::mpl::true_,boost::mpl::true_>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>,
              LastIterator=boost::mpl::l_iter<boost::mpl::l_end>,
              Predicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp(49): message : see reference to class template instantiation 'boost::mpl::aux::iter_fold_if_pred<ForwardPredicate,boost::mpl::l_iter<b
oost::mpl::l_end>>::apply<T1,T2>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,
              T1=void,
              T2=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/apply.hpp(63): message : see reference to class template instantiation 'boost::mpl::apply_wrap2<boost::mpl::protect<boost::mpl::aux::iter_fold_if_pre
d<ForwardPredicate,boost::mpl::l_iter<boost::mpl::l_end>>,0>,T1,T2>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,
              T1=void,
              T2=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp(62): message : see reference to class template instantiation 'boost::mpl::apply2<Predicate,State,Iterator>' being compiled [D:\
libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Predicate=boost::mpl::protect<boost::mpl::aux::iter_fold_if_pred<boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,boost::mpl::l_iter<boost::mpl::l_en
  d>>,0>,
              State=void,
              Iterator=boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp(103): message : see reference to class template instantiation 'boost::mpl::aux::iter_fold_if_forward_step<boost::mpl::l_iter<bo
ost::mpl::l_item<boost::mpl::long_<1>,T0,boost::mpl::l_end>>,void,ForwardOp,ForwardPredicate>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T0=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              ForwardOp=boost::mpl::arg<1>,
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::iter_fold_if_pred<boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,boost::mpl::l_iter<boost::mp
  l::l_end>>,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/iter_fold_if.hpp(94): message : see reference to class template instantiation 'boost::mpl::aux::iter_fold_if_impl<boost::mpl::l_iter<boost::mpl::l_item<boost::mpl::long_<3>,
T,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<T,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,T0,boost::mpl::l_end>>>>,State,ForwardOp,boost::mpl::protect<boost::mpl::aux::iter_fold_if_pred<ForwardPredi
cate,boost::mpl::l_iter<boost::mpl::l_end>>,0>,BackwardOp,boost::mpl::always<boost::mpl::false_>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T=std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,
              T0=boost::recursive_wrapper<telnetpp::options::msdp::table_value>,
              State=void,
              ForwardOp=boost::mpl::arg<1>,
              ForwardPredicate=boost::mpl::protect<boost::mpl::aux::find_if_pred<boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>,0>,
              BackwardOp=boost::mpl::na
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/iter_fold_if.hpp(102): message : see reference to class template instantiation 'boost::mpl::iter_fold_if<Sequence,void,boost::mpl::arg<1>,boost::mpl::protect<boost::mpl::aux
::find_if_pred<Predicate>,0>,boost::mpl::na,boost::mpl::na>::result_' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Sequence=boost::mpl::l_item<boost::mpl::long_<3>,std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<teln
  etpp::options::msdp::string_value,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>,
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/mpl/find_if.hpp(39): message : see reference to class template instantiation 'boost::mpl::iter_fold_if<Sequence,void,boost::mpl::arg<1>,boost::mpl::protect<boost::mpl::aux::find
_if_pred<Predicate>,0>,boost::mpl::na,boost::mpl::na>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Sequence=boost::mpl::l_item<boost::mpl::long_<3>,std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<teln
  etpp::options::msdp::string_value,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>,
              Predicate=boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/variant/variant.hpp(251): message : see reference to class template instantiation 'boost::mpl::find_if<Types,boost::mpl::not_<boost::is_nothrow_move_assignable<boost::mpl::_1>>>
' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Types=boost::mpl::l_item<boost::mpl::long_<3>,std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<telnetp
  p::options::msdp::string_value,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,boost::recursive_wrapper<telnetpp::options::msdp::table_value>,boost::mpl::l_end>>>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/variant/variant.hpp(2173): message : see reference to class template instantiation 'boost::detail::variant::is_variant_move_noexcept_assignable<boost::mpl::l_item<boost::mpl::lo
ng_<3>,T,boost::mpl::l_item<boost::mpl::long_<2>,boost::container::small_vector<T,4,void,void>,boost::mpl::l_item<boost::mpl::long_<1>,T0,boost::mpl::l_end>>>>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T=std::basic_string<telnetpp::byte,std::char_traits<telnetpp::byte>,std::allocator<telnetpp::byte>>,
              T0=boost::recursive_wrapper<telnetpp::options::msdp::table_value>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(970,6): error C2079: 'boost::move_detail::alignment_of_hack<T>::t2' uses undefined struct 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build
\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(985): error C2027: use of undefined type 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(33): message : see declaration of 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(421,1): error C2027: use of undefined type 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(33): message : see declaration of 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1175,4): error C2338: Align > 0 [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(421): message : see reference to class template instantiation 'boost::move_detail::aligned_storage<0,0>' being compiled [D:\libs\telnetpp\build\telnet
pp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1110,3): error C2079: 'boost::move_detail::aligned_struct_wrapper<1,0>::aligner' uses undefined struct 'boost::move_detail::aligned_struct<1,0>' [D:\
libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(968): message : see reference to class template instantiation 'boost::move_detail::aligned_struct_wrapper<1,0>' being compiled [D:\libs\telnetpp\buil
d\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(985): message : see reference to class template instantiation 'boost::move_detail::alignment_of_hack<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=boost::move_detail::aligned_struct_wrapper<1,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(997): message : see reference to class template instantiation 'boost::move_detail::alignment_of_impl<T>' being compiled [D:\libs\telnetpp\build\telne
tpp.vcxproj]
          with
          [
              T=boost::move_detail::aligned_struct_wrapper<1,0>
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1179): message : see reference to class template instantiation 'boost::move_detail::alignment_of<boost::move_detail::aligned_struct_wrapper<1,0>>' be
ing compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1111,1): error C2027: use of undefined type 'boost::move_detail::aligned_struct<1,0>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(1109): message : see declaration of 'boost::move_detail::aligned_struct<1,0>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(502,1): error C2027: use of undefined type 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/options/msdp/variable.hpp(33): message : see declaration of 'telnetpp::options::msdp::variable' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(528): message : see reference to class template instantiation 'boost::container::small_vector_storage_calculator<boost::move_detail::aligned_struct_wr
apper<1,0>,Allocator,telnetpp::options::msdp::variable,4,Options>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Allocator=void,
              Options=void
          ]
D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/container/small_vector.hpp(549): message : see reference to class template instantiation 'boost::container::small_vector_storage_definer<T,Allocator,4,Options>' being compiled [
D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              T=telnetpp::options::msdp::variable,
              Allocator=void,
              Options=void
          ]
  stream.cpp
  registration.cpp
D:\libs\telnetpp\include\telnetpp/subnegotiation.hpp(43,19): warning C4251: 'telnetpp::subnegotiation::content_': class 'gsl::span<const telnetpp::byte>' needs to have dll-interface to be used by clients of class 'telnetpp::subnegotiati
on' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/core.hpp(39): message : see declaration of 'gsl::span<const telnetpp::byte>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/option.hpp(235,1): warning C4251: 'telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::on_state_changed': class 'boost::signals2::signal<void (const telnetpp::option<LocalPositi
ve,LocalNegative,RemotePositive,RemoteNegative>::continuation &),boost::signals2::optional_last_value<void>,int,std::less<Group>,boost::function<Signature>,boost::function<R (const boost::signals2::connection &,const telnetpp::option<Lo
calPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &)>,boost::signals2::mutex>' needs to have dll-interface to be used by clients of class 'telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>'
 [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Group=int,
              Signature=void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),
              R=void
          ]
D:\libs\telnetpp\include\telnetpp/option.hpp(235): message : see declaration of 'boost::signals2::signal<void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),boost::signals2::optional_
last_value<void>,int,std::less<Group>,boost::function<Signature>,boost::function<R (const boost::signals2::connection &,const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &)>,boost::signals2:
:mutex>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Group=int,
              Signature=void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),
              R=void
          ]
D:\libs\telnetpp\include\telnetpp/option.hpp(265): message : see reference to class template instantiation 'telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>' being compiled [D:\libs\telnetpp\build\telnetpp.vcx
proj]
D:\libs\telnetpp\include\telnetpp/option.hpp(235,1): warning C4251: 'telnetpp::option<253,254,251,252>::on_state_changed': class 'boost::signals2::signal<void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNega
tive>::continuation &),boost::signals2::optional_last_value<void>,int,std::less<Group>,boost::function<Signature>,boost::function<R (const boost::signals2::connection &,const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,R
emoteNegative>::continuation &)>,boost::signals2::mutex>' needs to have dll-interface to be used by clients of class 'telnetpp::option<253,254,251,252>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Group=int,
              Signature=void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),
              R=void
          ]
D:\libs\telnetpp\include\telnetpp/option.hpp(235): message : see declaration of 'boost::signals2::signal<void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),boost::signals2::optional_
last_value<void>,int,std::less<Group>,boost::function<Signature>,boost::function<R (const boost::signals2::connection &,const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &)>,boost::signals2:
:mutex>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Group=int,
              Signature=void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),
              R=void
          ]
D:\libs\telnetpp\src\detail\registration.cpp(14): message : see reference to class template instantiation 'telnetpp::option<253,254,251,252>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
D:\libs\telnetpp\include\telnetpp/option.hpp(235,1): warning C4251: 'telnetpp::option<251,252,253,254>::on_state_changed': class 'boost::signals2::signal<void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNega
tive>::continuation &),boost::signals2::optional_last_value<void>,int,std::less<Group>,boost::function<Signature>,boost::function<R (const boost::signals2::connection &,const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,R
emoteNegative>::continuation &)>,boost::signals2::mutex>' needs to have dll-interface to be used by clients of class 'telnetpp::option<251,252,253,254>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Group=int,
              Signature=void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),
              R=void
          ]
D:\libs\telnetpp\include\telnetpp/option.hpp(235): message : see declaration of 'boost::signals2::signal<void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),boost::signals2::optional_
last_value<void>,int,std::less<Group>,boost::function<Signature>,boost::function<R (const boost::signals2::connection &,const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &)>,boost::signals2:
:mutex>' [D:\libs\telnetpp\build\telnetpp.vcxproj]
          with
          [
              Group=int,
              Signature=void (const telnetpp::option<LocalPositive,LocalNegative,RemotePositive,RemoteNegative>::continuation &),
              R=void
          ]
D:\libs\telnetpp\src\detail\registration.cpp(30): message : see reference to class template instantiation 'telnetpp::option<251,252,253,254>' being compiled [D:\libs\telnetpp\build\telnetpp.vcxproj]
  Generating Code...

d:\libs\telnetpp\build>
KazDragon commented 3 years ago

Yeah, I've been researching C4251 and it looks like this is a warning that unless you explicitly export some things, then runtime-linking the DLL with an executable built with a different version of the compiler/library will fail. All things being equal, I think that's safe to ignore. I'm working on a changeset that removes these warnings.

But I see only warnings and no error, so it worked?

See: #240

KazDragon commented 3 years ago

Oh I see it's still there:

D:\libs\yurybura\vcpkg\installed\x64-windows\include\boost/move/detail/type_traits.hpp(968,6): error C2079: 'boost::move_detail::alignment_of_hack<T>::t1' uses undefined struct 'telnetpp::options::msdp::variable'

KazDragon commented 3 years ago

Now that I've cleared out all the noise and purged any remaining traces of Boost from my vcpkg installation (which is way more difficult than it should be), I've finally managed to reproduce the error. I have a simple workaround that makes it work again. I'll commit that and then we can move on and I will work on working around my workaround ;)

KazDragon commented 3 years ago

@yurybura Would you be able to build with the PR branch and verify that is resolves the error?

KazDragon commented 3 years ago

Fix for this is on master, though I'm reopening to give @yurybura the opportunity to tell me whether it worked or not ;)

yurybura commented 3 years ago

@KazDragon I can confirm that my local build is passed. Thank you.

KazDragon commented 3 years ago

🎆

Thanks, @yurybura!