Я использую Boost::Asio для связи по сети. Следующий код завершается со следующей ошибкой компиляции.
Код:
std::wstring hostName(L"myserver");
std::wstring portName(L"myport");
auto query = boost::asio::ip::udp::resolver::query(boost::asio::ip::udp::v4(), hostName, portName);
Ошибка компиляции:
Error 1 error C2665: 'boost::asio::ip::basic_resolver_query<InternetProtocol>::basic_resolver_query' :
none of the 5 overloads could convert all the argument types
Мои вопросы:
- Ожидает ли Boost::Asio только ANSI-строки (std::string)?
- Означает ли это, что имена хостов с символами, отличными от ANSI, не поддерживаются?
- Или мне нужно сначала преобразовать мои широкие строки в UTF8?
- И в последнем случае, предоставляет ли Boost::Asio стандартные методы для этого, или я могу использовать свои собственные процедуры преобразования ANSI/Unicode?
В настоящее время работает в Windows, используя Visual Studio 2013.
Заранее спасибо.