Я пытаюсь скомпилировать MWE, взятый из буста учебные пособия.
Как ни странно, мой компилятор жалуется, что tcp::iostream
не имеет метода error():
error: ‘boost::asio::ip::tcp::iostream’ has no member named ‘error’
Я совершенно уверен, что мои настройки включения в порядке, так как он находит заголовочные файлы.
Так же error()
Метод, кажется, в течение длительного времени в API повышения. Я упоминаю об этом, так как пытаюсь использовать библиотеку облаков точек. Установив эту библиотеку, я также установил boost, и это может быть более старая версия. Я понятия не имею, чтобы проверить версию, но, как сказал, я не думаю, что это проблема.
Какие-либо предложения?
#include <iostream>
#include <string>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;
int main(int argc, char* argv[]) {
try {
if (argc != 2) {
std::cerr << "Usage: daytime_client <host>" << std::endl;
return 1;
}
tcp::iostream s(argv[1], "daytime");
if (!s) {
std::cout << "Unable to connect: " << s.error().message() << std::endl;
return 1;
}
std::string line;
std::getline(s, line);
std::cout << line << std::endl;
} catch (std::exception& e) {
std::cout << "Exception: " << e.what() << std::endl;
}
return 0;
}
Задача ещё не решена.
Других решений пока нет …