提问人:Adri C.S. 提问时间:5/24/2012 最后编辑:Olivia StorkAdri C.S. 更新时间:6/7/2021 访问量:36117
如何在 Linux 上从源代码安装 TBB 并使其工作
How to install TBB from source on Linux and make it work
问:
我想知道如何从源代码安装 TBB 并使其在 Linux 系统上运行。我在使用它时遇到了一些问题,如果我通过包管理器安装 TBB,这些问题就不会出现。
在 TBB 网页中,有一些关于如何执行此操作的指南,例如设置 and 变量或获取文件。即使我这样做了,当我尝试编译一个示例时,也说找不到。LD_LIBRARY_PATH
CPATH
tbbvars.sh
g++
tbb
所以我的问题是,有没有一种简单的方法来设置所有内容(编译源代码,我应该设置哪些变量......)以使用 TBB?
谢谢。
注意:提出这个问题时,库版本号是 2(如果我没记错的话)。我个人已经测试了该解决方案,直到 4.1 版,但我认为它也应该适用于当前版本,因为构建方法保持不变。4.2 (update 3)
答:
我带来了解决方案。我将在这里发布它,以便它对其他人的这个主题有所帮助。
下载最新的稳定源代码并解压,即
~/tbbsrc
在里面,键入 .它应该开始编译 tbb 库和内存分配器。
make
标头位于
~/tbbsrc/include
里面将有两个新文件夹,一个用于发布版本,另一个用于调试版本。这些文件夹的名称类似于 。
~/tbbsrc/build
architecture_ldVersion_g++Version_kernelVersion
我建议设置一些变量,例如在您的文件中,例如:
~/.bashrc
TBB_INSTALL_DIR = $HOME/tbbsrc
TBB_INCLUDE = $TBB_INSTALL_DIR/include
TBB_LIBRARY_RELEASE = $TBB_INSTALL_DIR/build/RELEASE_FOLDER
TBB_LIBRARY_DEBUG = $TBB_INSTALL_DIR/build/DEBUG_FOLDER
- 让我们尝试一个简单的例子:
// main.cpp
#include "tbb/task_scheduler_init.h"
int main(int argc, char* argv[]) {
// tbb::task_scheduler_init init(tbb::task_scheduler_init::automatic);
// implicit tbb::task_sheduler_init::automatic
tbb::task_scheduler_init init;
return 0;
}
- 例如,要使用发布版本进行编译,请执行以下操作:
g++ main.cpp -I$TBB_INCLUDE -Wl,-rpath,$TBB_LIBRARY_RELEASE -L$TBB_LIBRARY_RELEASE -ltbb
注意:使用 ,我们告诉动态链接器在哪里可以找到
-Wl,-rpath,$TBB_LIBRARY_RELEASE
libtbb.so
- 这应该可以正常工作!
此致敬意!
Apple clang 5.1 的安装:[感谢 rwols 提供的信息]
而不是键入 ,键入 或make
make compiler=clang
make compiler=clang stdlib=libc++
评论
-Wl
g++ 4.4
g++ 4.7
make
make compiler=clang
make compiler=clang stdlib=libc++
https://github.com/wjakob/tbb 似乎是要走的路。
git clone https://github.com/wjakob/tbb.git
cd tbb/build
cmake ..
make -j
sudo make install
评论
/etc/ld.so.conf
/opt/intel/openvino_2021.1.110/deployment_tools/inference_engine/external/tbb/lib/
ldconfig
评论
sudo apt install