我想通过使用tbb::task_scheduler_observer连接到tbb::task_arena。根据文档,这应该像shown here一样工作。但是,当我尝试编译以下代码时
#define TBB_PREVIEW_TASK_ARENA 1
#include "tbb/task_scheduler_observer.h"
#include "tbb/task.h"
#include "tbb/task_arena.h"
class MyObserver : public tbb::task_scheduler_observer
{
public:
MyObserver( tbb::task_arena &a ) : tbb::task_scheduler_observer(a)
{
observe(true); // activate the observer
}
/*override*/ void on_scheduler_entry( bool worker )
{
// Do something here
}
/*override*/ void on_scheduler_exit( bool worker ) { }
};和
#define TBB_PREVIEW_TASK_ARENA 1
#include "tbb/task_arena.h"
int main()
{
tbb::task_arena a;
MyObserver my(a);
}我得到了一个
undefined refference to `tbb::task_arena::internal_terminate()`错误。其他tbb函数(和类)在使用-ltbb标志编译时工作得很好。
我使用的是启用了-std=c++11的Ubuntu14.04和g++ 4.8.4。
https://stackoverflow.com/questions/38323003
复制相似问题