我想让TBB正常工作,但是我在编译Ubuntu 14.04时遇到了一些困难。我认为为编译器设置库的位置可能存在问题。
我使用以下命令安装TBB:
sudo apt-get install libtbb-dev
我有一个小测试示例,我现在正在尝试编译。代码如下:
#include "tbb/task_scheduler_init.h"
int main(int argc, char* argv[]) {
tbb::task_scheduler_init init;
return 0;
}
我正在运行的编译此代码的命令如下:
g++ -std=c++11 -g -O2 -ltbb simple_test.cc -o simple_test
我使用G ++版本4.9.1运行它。当我尝试编译时,我收到以下错误:
/tmp/cc7Ls8Sb.o: In function `task_scheduler_init':
/usr/include/tbb/task_scheduler_init.h:126: undefined reference to `tbb::task_scheduler_init::initialize(int, unsigned long)'
/tmp/cc7Ls8Sb.o: In function `~task_scheduler_init':
/usr/include/tbb/task_scheduler_init.h:132: undefined reference to `tbb::task_scheduler_init::terminate()'
collect2: error: ld returned 1 exit status
文件task_scheduler_init.h
的位置为/usr/include/tbb/task_scheduler_init.h
。
你知道我做错了吗?
g++ simple_test.cc -std=c++11 -g -O2 -ltbb -o simple_test
我真的不明白为什么这种改变使编译成功。