当前位置: 首页 > 面试题库 >

如何在Linux上从源代码安装TBB并使其正常工作

漆雕博
2023-03-14
问题内容

我想知道如何从源代码安装TBB并使其在Linux系统上工作。使用它时,我遇到了一些问题,如果通过软件包管理器安装TBB,这些问题不会出现。

在TBB网页上,有一些有关如何执行此操作的准则,例如设置LD_LIBRARY_PATH和CPATH变量,或采购 tbbvars.sh
文件。即使我这样做,当我尝试编译一个例子 G ++ 说, TBB 是找不到的。

因此,问题是,是否有一种简单的方法可以设置所有内容(编译源代码,我应该设置哪些变量…)以便使用TBB。

谢谢。

注意: 询问此问题时的库版本号为2(如果我没记错的话)。我已经亲自测试了4.1版之前的解决方案,但是我认为它也应该适用于当前版本,4.2 (update 3)因为构建方法保持不变。


问题答案:

我提供了解决方案。我将其张贴在此处,以帮助其他人解决此主题。

1)下载最新的稳定源代码并解压缩,即在〜/ tbbsrc中

2)在内部,键入make。它应该开始编译tbb库和内存分配器。

3)标头在〜/ tbbsrc / include中

4)〜/ tbbsrc / build内部将有两个新文件夹,一个用于发行版本,另一个用于调试版本。这些文件夹的名称类似于“
architecture_ldVersion_g ++ Version_kernelVersion”。

5)我建议设置一些变量,例如在.bashrc文件中,例如:

  1. TBB_INSTALL_DIR = $ HOME / tbbsrc
  2. TBB_INCLUDE = $ TBB_INSTALL_DIR / include
  3. TBB_LIBRARY_RELEASE = $ TBB_INSTALL_DIR / build / RELEASE_FOLDER
  4. TBB_LIBRARY_DEBUG = $ TBB_INSTALL_DIR / build / DEBUG_FOLDER

6)让我们尝试一个简单的例子:

// 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;
}

7)例如,使用发行版进行编译:

g++ main.cpp -I$TBB_INCLUDE -Wl,-rpath,$TBB_LIBRARY_RELEASE -L$TBB_LIBRARY_RELEASE -ltbb

通过这些,-Wl,-rpath,$TBB_LIBRARY_RELEASE我们告诉动态链接器在哪里可以找到libtbb.so

8)那应该很好!

最好的祝福!

安装Apple clang 5.1: [感谢rwols提供信息]

不用输入make,输入make compiler=clangmake compiler=clang stdlib=libc++



 类似资料:
  • 问题内容: 不久前,我设法使RoR在Windows XP上运行。我一直在尝试使其在Windows 7上运行2天,但没有办法,总是有一个问题,无论我如何尝试,谷歌都无法回答。 有人可以给我指南或其他方法以使其在Windows 7或XP上运行吗?即使是Ubuntu,但我还是不想再经历那个迷宫。 我想我将在虚拟机上安装Windows XP并从那里开始。 我需要RoR和mysql-什么版本,从哪里下载它们

  • 首先你需要安装Golang,关于Golang的安装,参见官方文档 install instructions。 下载 你需要获取Gitea的源码,最方便的方式是使用 go 命令。执行以下命令: go get -d -u code.gitea.io/gitea cd $GOPATH/src/code.gitea.io/gitea 然后你可以选择编译和安装的版本,当前你有多个选择。如果你想编译 mas

  • 本书面向的是已经对Go语言有一定的经验,希望能了解它的底层机制的用户。因此,只推荐从源代码安装Go。 Go源码安装 在Go的源代码中,有些部分是用Plan 9 C和AT&T汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具。 在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具。 在类Unix系统中,需要安装gcc等工具。例如Ubuntu系统可通过在终端中执行sudo apt

  • 1.7. 从源代码安装 Python 如果您宁愿从源码创建, 可以从 http://www.python.org/ftp/python/下载 Python 的源代码。选择最新的版本, 下载.tgz 文件, 执行通常的 configure, make, make install 步骤。 例 1.4. 从源代码安装 localhost:~$ su - Password: [enter your ro

  • 我正在尝试从源代码处安装Rundeck。我尝试了Linux的三种不同发行版(Debian、Red Hat和SUSE发行版)。所有人都有失败的经历。在继续之前,我安装make命令、Java和Git。“make”命令在我尝试过的每一个Linux发行版上都是失败的。“./gradlew build”命令也没有成功。 配置项目:生成版本3.2.7-快照 任务:rundeckapp:grails-spa:r

  • 从源码安装软件是configure, make, make install的同义词. 我们将使用包管理器来从源码编译新的软件. 下一节是可选的内容如果你已经安装了FreeRADIUS的预编译的包. 从源码编译 有时有需要来安装最新版本的软件或者包含一些预编译软件没有支持的模块. 这需要从源码编译软件. 大多数开源软件包是作为一个TAR压缩包发布的. TAR实际上可以指用于创建TAR文件的程序(名称