我想让 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
is /usr/include/tbb/task_scheduler_init.h
.
你知道我做错了什么吗?
编辑:我重新排序了 g++ 的参数,这使它工作:
g++ simple_test.cc -std=c++11 -g -O2 -ltbb -o simple_test
我真的不明白为什么这个改变会让编译成功。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)