如何在Ubuntu 14.04中使用线程构建块

时间:2014-09-02 04:49:07

标签: install ubuntu-14.04 tbb

我想让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 ++的论点,这让它运转起来了:

g++ simple_test.cc -std=c++11 -g -O2 -ltbb -o simple_test

我真的不明白为什么这种改变使编译成功。

0 个答案:

没有答案