16

asio デッドライン タイマーを使用するアプリケーションがあります。アプリケーションの残りの部分ではstd::chrono、時間の値に構造体を使用していますboost::posix_timestd::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 {別名 struct boost::asio::time_traits > > >}'

traits_typeしたがって、新しいを作成してそれを使用して宣言する必要があるように見えますが、deadline_timer_service方法/場所がわかりません。私はこの問題が解決されたと信じなければなりません。Linuxでg ++ 4.7.3を-std = c ++ 11で使用し、アームにクロスコンパイルしています。

4

1 に答える 1