需要帮助让英特尔 TBB 正常工作吗?
Need help getting intel TBB working?
我 运行 在我的 mac os sierra 设备上安装 tbb。在 运行 这之后我应该能够将 #include 包含到我的 C++ 项目中吧?由于某种原因,当我编译时找不到这些文件。帮助将不胜感激
一些事情...
检查包上的选项
在安装任何 homebrew
包之前,养成检查可用选项的习惯,而不是只接受默认选项。它通常会让您深入了解您不知道的可用功能。所以,对于 tbb
:
brew options tbb
输出
--c++11
Build using C++11 mode
所以,它可能值得使用:
brew install tbb --c++11
或
brew reinstall tbb --c++11
首先自己找到包含文件和库
如果您要包含 header 文件,请先尝试自己查找,使用 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
放置 headers 的地方,你会看到:
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
header 位于 /usr/local/include/tbb
(这是 homebrew
的 Cellar 的符号链接),因此您需要确保您的编译器正在寻找 /usr/local/include
.
g++-6 -I/usr/local/include ...
请记住,您可以使用 -v
检查编译器的查找位置,如下所示:
g++-6 -v ...
帮助编译器找到 header 文件 (#includes) 后,您将需要帮助链接器找到库,因此您的命令将变为:
g++-6 -I/usr/local/include program.cpp -o program -L /usr/local/lib -ltbb
我 运行 在我的 mac os sierra 设备上安装 tbb。在 运行 这之后我应该能够将 #include 包含到我的 C++ 项目中吧?由于某种原因,当我编译时找不到这些文件。帮助将不胜感激
一些事情...
检查包上的选项
在安装任何 homebrew
包之前,养成检查可用选项的习惯,而不是只接受默认选项。它通常会让您深入了解您不知道的可用功能。所以,对于 tbb
:
brew options tbb
输出
--c++11
Build using C++11 mode
所以,它可能值得使用:
brew install tbb --c++11
或
brew reinstall tbb --c++11
首先自己找到包含文件和库
如果您要包含 header 文件,请先尝试自己查找,使用 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
放置 headers 的地方,你会看到:
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
header 位于 /usr/local/include/tbb
(这是 homebrew
的 Cellar 的符号链接),因此您需要确保您的编译器正在寻找 /usr/local/include
.
g++-6 -I/usr/local/include ...
请记住,您可以使用 -v
检查编译器的查找位置,如下所示:
g++-6 -v ...
帮助编译器找到 header 文件 (#includes) 后,您将需要帮助链接器找到库,因此您的命令将变为:
g++-6 -I/usr/local/include program.cpp -o program -L /usr/local/lib -ltbb