我有一个使用 asio 截止日期计时器的应用程序。应用程序的其余部分使用std::chrono
构造作为其时间值,并且boost::posix_time
只使用涉及 asio 的东西感觉很尴尬。如果可以的话,我想std::chrono
在整个应用程序中使用,以保持一致性、可读性等。
在我看来,答案将涉及使用计时器的模板:
typedef boost::asio::basic_deadline_timer<std::chrono::system_clock::time_point>
my_deadline_timer_type;
my_deadline_timer_type a_timer(io_service);
除了这在编译时严重爆炸......许多错误行,其中大部分与此类似:
/opt/arm/include/boost/asio/deadline_timer_service.hpp:51:43: 错误:无效使用不完整类型'boost::asio::deadline_timer_service > >, boost::asio::time_traits > > > >:: traits_type {aka struct boost::asio::time_traits > > >}'
所以,看起来我可能需要创建一个新的traits_type
并声明一个deadline_timer_service
使用它,但我不确定如何/在哪里。我必须相信这个问题已经解决了。我在 Linux 上使用带有 -std=c++11 的 g++ 4.7.3,交叉编译到 arm。