【发布时间】:2011-04-20 19:06:25
【问题描述】:
曾几何时,我们有类似的 boost 代码:
typedef BoostAsioPipe pipe;
#elif defined(BOOST_POSIX_API)
typedef boost::asio::posix::stream_descriptor pipe;
#elif defined(BOOST_WINDOWS_API)
typedef boost::asio::windows::stream_handle pipe;
#else
# error "Unsupported platform."
#endif
但是现在,例如在 windows 编译器上,stream_handle 不是 boost::asio 的一部分……那么它现在在哪里? (并且 stream_descriptor 是在同一个地方还是它也移动了)?
更新
愚蠢的我:现在有 boost::asio::windows::pipe 这样的东西,但编译器给出了 C3083
#elif defined(BOOST_WINDOWS_API)
typedef boost::asio::windows::pipe pipe;
#else
【问题讨论】:
-
你确定它消失了吗?根据文档,它仍然存在:boost.org/doc/libs/1_46_1/boost/asio/windows/stream_handle.hpp
-
它仍然是 boost 的一部分,可能某些标题已更改,因此您现在必须明确包含
才能使用它。我至少在您的代码示例中没有看到包含。
标签: c++ boost pipe boost-asio