2012-05-23 14 views
7

TBBをソースからインストールしてLinuxシステム上で動作させる方法を知りたいと思います。 パッケージマネージャを使用してTBBをインストールしても表示されない問題があります。TBBをソースからLinuxにインストールして動作させる方法

TBBのWebページには、LD_LIBRARY_PATHおよびCPATH変数の設定や、tbbvars.shファイルの入手など、これを行う方法についていくつかのガイドラインがあります。もし私がそれをしても、コンパイルしようとするとg ++tbbは見つかりませんでした。

TBBを使用するためには、すべての設定(ソースコードのコンパイル、どの変数の設定が必要なのか...)が簡単にできるかどうかということです。

ありがとうございました。

注:この質問の質問に答えるライブラリのバージョン番号は2です(正しくリコールすれば)。私は個人的にはバージョン4.1までのソリューションをテストしましたが、ビルド方法は変わっていないので、現在のバージョン4.2 (update 3)でもうまくいくはずです。

+2

あなたはすでに何をしようとしたのですか? TBBの資料はありますか?そして最も重要なのは:** TBBは何ですか?あなたはもっと具体的になりますか? – Gnosophilon

+3

@Gnosophilonあなたはマウスの上にマウスを動かし、TBBが – inf

+0

./configureであることを知ることができます。作る; sudo make install –

答えて

15

私は解決策を持ってきました。私はここに投稿しますので、このトピックで他の人を助けるでしょう。

1)最新の安定のソースコードをダウンロードして、〜/ tbbsrc

2)の内部では、タイプのメイクにすなわち、それを解凍してください。 tbbライブラリとメモリアロケータのコンパイルを開始する必要があります。

3)ヘッダは、2つの新しいフォルダ、リリースバージョン用とデバッグバージョンの他になります〜/ tbbsrc /含ま

4)インサイド〜/ tbbsrc /ビルドです。これらのフォルダの名前は "architecture_ldVersion_g ++ Version_kernelVersion"のようになります。

5)私は同じように、.bashrcファイル、例えば、いくつかの変数を設定することをお勧めします:

  1. TBB_INSTALL_DIR = $ HOME/tbbsrc
  2. TBB_INCLUDE = $ TBB_INSTALL_DIR /含ま
  3. TBB_LIBRARY_RELEASE = $ TBB_INSTALL_DIR /構築/ RELEASE_FOLDER
  4. TBB_LIBRARY_DEBUG = $ TBB_INSTALL_DIR /構築/ 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:代わりmakeを入力するので

[情報についてはrwolsのおかげ]、タイプmake compiler=clangまたはmake compiler=clang stdlib=libc++

+0

-rpathオプションはg ++で認識されません... ldオプションです... – Andry

+1

はい。なぜそれを '-Wl'で渡す必要があるのですか?それで、リンカはそれを"認識します "。これは、UbuntuとWindowsの両方で 'g ++ 4.4'と' g ++ 4.7'でテストされました。私は新しいバージョンでそれをテストしていない。 –

+0

警告のための情報を提供するだけのオプションではない-W1?私は好奇心が強いので、私はそのオプションを書いていませんでした... :) – Andry

関連する問題