我有一个使用无增强版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上编译并运行良好。
知道发生了什么事吗?
答案 0 :(得分:0)
是的,这是一个愚蠢的。我正在Windows上编译,其中不存在Unix套接字。
阿到最咄。