0

我有一个使用 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 上编译并运行得非常好。

知道发生了什么吗?

4

1 回答 1

0

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

啊,对了。

于 2017-03-10T12:50:15.097 回答