У меня есть кроссплатформенный проект, использующий версию без ускорения Asio. В OSX я использую autotools для сборки библиотеки, а затем включаю ее в свой проект:
exec_program(COMMAND "./autogen.sh" WORKING_DIRECTORY ${asio_SOURCE_DIR}/asio)
exec_program(COMMAND "./configure --without-boost" WORKING_DIRECTORY ${asio_SOURCE_DIR}/asio)
Я не смог найти инструкции для Windows, и после запуска CMake заметил, что Asio сгенерирует файл Visual Studio, поэтому я выделил приведенные выше инструкции для работы только на платформах Unix.
Но теперь я получаю странные ошибки в Windows:
asio\include\generic\basic_endpoint.hpp(71): error c2039: 'protocol' is not a member of 'std::basic_string<chr, std::char_traits<<char>, std::allocation<char>>'
У меня также был случай asio::local::stream_protocol::endpoint
что я должен был изменить на asio::generic::stream_protocol::endpoint
,
Весь этот код скомпилирован и отлично работает на OSX.
Есть идеи, что происходит?
Да, это был тупой. Я компилирую в Windows, где Unix-сокеты не существуют.
А-к-хм.
Других решений пока нет …