0

我想使用来自开源的 boost 线程池库(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

似乎它与您安装的 boost 版本不兼容。你有什么Boost版本?

于 2009-11-09T05:15:50.400 回答