2017-01-13 22 views
0

このコードをClion IDEで実行しようとしています。私はTBBライブラリを使いたいです。私は、コマンドラインからC++ 11Clion IDEでTbbライブラリを使用

#include “tbb/blocked_range.h” 
#include “tbb/parallel_for.h” 

#include <vector> 

const size_t SIZE = 10000000; 

int main() 
{ 
    std::vector<double> myArray(SIZE); 

    tbb::parallel_for(tbb::blocked_range<size_t>(0, SIZE), 
    [&myArray](const tbb::blocked_range<size_t> &r) 
    { 
     for (size_t i = r.begin(); i != r.end(); i++) 
      Calculate(myArray[i]); 
    }); 

    return 0; 
} 

使用:

g++ task1.cpp -o task1 -std=c++11 -fopenmp -ltbb

このコード作業完璧。

しかし、Clionではありません。

私のCMakeLists.txtファイルに問題があると思います。

何を教えClion:

CMakeFiles/parallel.dir/main.cpp.o: In function `run': 
/usr/include/tbb/parallel_reduce.h:148: undefined reference to `tbb::task_group_context::~task_group_context()' 
/usr/include/tbb/parallel_reduce.h:148: undefined reference to `tbb::task_group_context::~task_group_context()' 
CMakeFiles/parallel.dir/main.cpp.o:(.rodata+0xa0): undefined reference to `typeinfo for tbb::task' 
CMakeFiles/parallel.dir/main.cpp.o:(.rodata+0x1c8): undefined reference to `tbb::task::note_affinity(unsigned short)' 
CMakeFiles/parallel.dir/main.cpp.o: In function `tbb::task_group_context::task_group_context(tbb::task_group_context::kind_type, unsigned long)': 
/usr/include/tbb/task.h:441: undefined reference to `tbb::task_group_context::init()' 

...

CMakeLists.txt

cmake_minimum_required(VERSION 3.6) 
project(parallel) 
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fopenmp -ltbb") 
set(CMAKE_CXX_STANDARD 11) 

set(SOURCE_FILES main.cpp main.cpp) 
add_executable(parallel ${SOURCE_FILES}) 

どのように私は私のCMakeLists.txtファイルを変更することができますか、私はいくつかの他の操作を行う必要がありますか?ご協力いただきありがとうございます。

+0

'include_directories(" PATH/TO/TBB_INCLUDE ")' – pSoLT

+0

を使用しても動作しません – partizander

答えて

0

正しい変数を設定するlibtbbを見つけるには、cmakeテストを使用する必要があります。

githubにはFindTBBがあり、これを使用してみることができます。

関連する問題