需要帮助让情报TBB工作

Need help getting intel TBB working?

本文关键字:TBB 工作 帮助      更新时间:2023-10-16

我在我的mac os sierra设备上运行brew install tbb。运行这个后,我应该能够包括#包括到我的c++项目对吗?由于某些原因,当我编译这些文件没有找到。

几件事…

检查包上的选项

在安装任何homebrew包之前,要养成检查可用选项的习惯,而不是只接受默认选项。它通常会让您了解到您没有意识到的可用特性。对于tbb:

brew options tbb

--c++11
    Build using C++11 mode

所以,可能值得使用:

brew install tbb --c++11

brew reinstall tbb --c++11

先自己查找包含文件和库

如果你想包含一个头文件,试着自己先寻找它,使用find:

find /usr /opt concurrent_queue.h

/usr/local/Cellar/tbb/4.4-20160916/include/tbb/concurrent_queue.h

所以在我的系统上只有一个concurrent_queue.h。现在我们需要告诉编译器如何找到它。如果您查看/usr/local/include,也就是homebrew放置标头的地方,您将看到如下内容:

ls -l /usr/local/include | grep tbb
lrwxr-xr-x    1 mark  admin    38  5 Oct 09:10 tbb -> ../Cellar/tbb/4.4-20160916/include/tbb

所以,tbb头在/usr/local/include/tbb(这是一个符号链接到homebrew的地窖),所以你需要确保你的编译器正在寻找/usr/local/include

g++-6 -I/usr/local/include ...

请记住您可以使用-v检查编译器正在查找的位置,如下所示:

g++-6 -v ...

一旦你帮助编译器找到头文件(#includes),你就需要帮助链接器找到库,所以你的命令将变成:

g++-6 -I/usr/local/include program.cpp -o program -L /usr/local/lib -ltbb