使用Asio的Windows上出现奇怪的错误

时间:2017-03-10 11:53:57

标签: c++ windows macos c++11 asio

我有一个使用无增强版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上编译并运行良好。

知道发生了什么事吗?

1 个答案:

答案 0 :(得分:0)

是的,这是一个愚蠢的。我正在Windows上编译,其中不存在Unix套接字。

阿到最咄。