【问题标题】:how to enable boost::posix::stream_descriptor on windows?如何在 Windows 上启用 boost::posix::stream_descriptor?
【发布时间】:2021-08-15 22:23:24
【问题描述】:

我有一个使用蓝牙的 linux 应用程序。我必须将它移植到 Windows。因为我知道从一开始我就选择了boost 来代替epoll。 windows 和 linux 都使用 BSD 套接字进行蓝牙。所以我需要做的就是初始化文件描述符,把它放入boost::posix::stream_descriptor,从那时起我可以同时使用wait_readwait_write

但是,编译器说 boost::posix::stream_descriptor 未定义。我可以启用它吗?我正在使用 msys2 来设置 mingw64 工具链和安装 boost。

【问题讨论】:

    标签: windows boost-asio


    【解决方案1】:

    您可以使用 Windows 等效项,例如 windows::stream_handle

    或者,您可以选择使用与 posix 兼容的编译器,例如 MinGW++ http://mingw-w64.org/doku.php

    【讨论】:

    • 如果我知道如何修复 source.assign(socket_fd) 中的错误 invalid conversion from 'int' to 'boost::asio::windows::basic_overlapped_handle<>::native_handle_type'
    • 您是如何获得socket_fd 的?你用的是什么编译器?
    • 编译器:mingw-64,winsock2:docs.microsoft.com/en-us/windows/win32/api/Winsock2/….
    猜你喜欢
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多