Sono venuto con la soluzione. Lo posterò qui così aiuterà gli altri con questo argomento.
-
Scarica l'ultimo codice sorgente stabile e decomprimilo, cioè in
~/tbbsrc
-
All'interno, digita
make
. Dovrebbe iniziare a compilare la libreria tbb e gli allocatori di memoria. -
Le intestazioni sono in
~/tbbsrc/include
-
Dentro
~/tbbsrc/build
saranno due nuove cartelle, una per la versione di rilascio e l'altra per la versione di debug. Queste cartelle sono denominate comearchitecture_ldVersion_g++Version_kernelVersion
. -
Consiglio di impostare alcune variabili, ad esempio nel tuo
~/.bashrc
file, come:
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
- Proviamo un semplice esempio:
// 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;
}
- Per compilare, ad esempio, con la versione di rilascio:
g++ main.cpp -I$TBB_INCLUDE -Wl,-rpath,$TBB_LIBRARY_RELEASE -L$TBB_LIBRARY_RELEASE -ltbb
Nota:con
-Wl,-rpath,$TBB_LIBRARY_RELEASE
, stiamo dicendo al linker dinamico dove trovarelibtbb.so
- E dovrebbe funzionare bene!
Cordiali saluti!
Installazione per Apple clang 5.1: [grazie a rwols per le informazioni]
Invece di digitare make
, digita make compiler=clang
o make compiler=clang stdlib=libc++
https://github.com/wjakob/tbb sembra essere la strada da percorrere.
git clone https://github.com/wjakob/tbb.git
cd tbb/build
cmake ..
make -j
sudo make install