0

オープン ソース ( http://threadpool.sourceforge.net/ )のブースト スレッドプール ライブラリを使用したいのですが、サンプル プログラム自体でコンパイル エラーが発生します。

/usr/include/boost/./threadpool/./detail/locking_ptr.hpp: コンストラクタ内 âboost::threadpool::detail::locking_ptr::locking_ptr(volatile T&, const volatile Mutex&) [with T = boost::threadpool ::detail::pool_core >, boost::threadpool::fifo_scheduler, boost::threadpool::static_size, boost::threadpool::resize_controller, boost::threadpool::wait_for_all_tasks>, Mutex = boost::recursive_mutex]â:

/usr/include/boost/./threadpool/./detail/pool_core.hpp:331: âbool boost::threadpool::detail::pool_core::resize(size_t) volatile からインスタンス化 [with Task = boost::function0 > 、SchedulingPolicy = boost::threadpool::fifo_scheduler、SizePolicy = boost::threadpool::static_size、SizePolicyController = boost::threadpool::resize_controller、ShutdownPolicy = boost::threadpool::wait_for_all_tasks]â

/usr/include/boost/./threadpool/size_policies.hpp:75: âstatic void boost::threadpool::static_size::init(Pool&, size_t) からインスタンス化 [with Pool = boost::threadpool::detail::pool_core] >、boost::threadpool::fifo_scheduler、boost::threadpool::static_size、boost::threadpool::resize_controller、boost::threadpool::wait_for_all_tasks>]â

/usr/include/boost/./threadpool/pool.hpp:103: âboost::threadpool::thread_pool::thread_pool(size_t) からインスタンス化 [with Task = boost::function0 >, SchedulingPolicy = boost::threadpool:: fifo_scheduler、SizePolicy = boost::threadpool::static_size、SizePolicyController = boost::threadpool::resize_controller、ShutdownPolicy = boost::threadpool::wait_for_all_tasks]â

./example/mergesort/mergesort.cpp:152: ここからインスタンス化

/usr/include/boost/./threadpool/./detail/locking_ptr.hpp:50: エラー: 「class boost::recursive_mutex」には「lock」という名前のメンバーがありません

/usr/include/boost/./threadpool/./detail/locking_ptr.hpp: デストラクタ内 âboost::threadpool::detail::locking_ptr::~locking_ptr() [with T = boost::threadpool::detail:: pool_core >、boost::threadpool::fifo_scheduler、boost::threadpool::static_size、boost::threadpool::resize_controller、boost::threadpool::wait_for_all_tasks>、Mutex = boost::recursive_mutex]â:

/usr/include/boost/./threadpool/./detail/pool_core.hpp:331: âbool boost::threadpool::detail::pool_core::resize(size_t) volatile からインスタンス化 [with Task = boost::function0 > 、SchedulingPolicy = boost::threadpool::fifo_scheduler、SizePolicy = boost::threadpool::static_size、SizePolicyController = boost::threadpool::resize_controller、ShutdownPolicy = boost::threadpool::wait_for_all_tasks]â

/usr/include/boost/./threadpool/size_policies.hpp:75: âstatic void boost::threadpool::static_size::init(Pool&, size_t) からインスタンス化 [with Pool = boost::threadpool::detail::pool_core] >、boost::threadpool::fifo_scheduler、boost::threadpool::static_size、boost::threadpool::resize_controller、boost::threadpool::wait_for_all_tasks>]â

/usr/include/boost/./threadpool/pool.hpp:103: âboost::threadpool::thread_pool::thread_pool(size_t) からインスタンス化 [with Task = boost::function0 >, SchedulingPolicy = boost::threadpool:: fifo_scheduler、SizePolicy = boost::threadpool::static_size、SizePolicyController = boost::threadpool::resize_controller、ShutdownPolicy = boost::threadpool::wait_for_all_tasks]â

./example/mergesort/mergesort.cpp:152: ここからインスタンス化

/usr/include/boost/./threadpool/./detail/locking_ptr.hpp:58: エラー: 「class boost::recursive_mutex」には「unlock」という名前のメンバーがありません

誰かがこの問題を解決するのを助けることができますか?

よろしく、 アナンダン

4

1 に答える 1

2

インストールされているブースト バージョンと互換性がないようです。あなたが持っているブーストのバージョンは何ですか?

于 2009-11-09T05:15:50.400 に答える