Ich versuche, diesen Code in Clion IDE ausführen. Ich möchte die TBB-Bibliothek verwenden. Ich benutze C++ 11.Verwenden Sie Tbb-Bibliothek in Clion IDE
#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;
}
von der Kommandozeile:
g++ task1.cpp -o task1 -std=c++11 -fopenmp -ltbb
dieser Code Arbeit perfekt.
Aber in Clion nicht.
Ich denke Problem in meiner CMakeLists.txt Datei.
Was CLION mir sagen:
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})
Wie kann ich meine CMakeLists.txt Datei ändern oder sollte ich etwas anderes tun? Danke für deine Hilfe.
Verwenden 'include_directories ("path/to/TBB_INCLUDE")' – pSoLT
die gleichen, funktionieren nicht – partizander