需要帮助让英特尔TBB工作?

时间:2016-10-05 06:28:54

标签: c++ c++11 tbb

我在我的mac os sierra设备上运行了brew install tbb。运行之后我应该能够将#include包含到我的c ++项目中吗?出于某种原因,当我编译这些文件时找不到。帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

一些事情......

检查包

上的选项

在安装任何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的Cellar的符号链接),因此您需要确保您的编译器正在查看{{1} }。

/usr/local/include

请记住,您可以使用g++-6 -I/usr/local/include ... 来查看编译器的查找位置,如下所示:

-v

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

g++-6 -v ...