先去GitHub - oneapi-src/oneTBB: oneAPI Threading Building Blocks (oneTBB) 下载源码,并解压。
进入解压出的文件夹,执行
1、mkdir build && cd build
2、cmake -DTBB_TEST ..
3、cmake --build .
4、cmake --install .
测试是否成功
1、新建文件夹test
2、随便写个cpp文件,命名为test.cpp,内容如下:
#include <oneapi/tbb.h>
#include <iostream>
#include <oneapi/tbb/parallel_for_each.h>
int main( )
{
using a = tbb::feeder<int>;
tbb::parallel_for(0, 100, 1, [](int i) {
std::cout<<i<<std::endl;
std::cout<<"SUCCEED!!!"<<std::endl;
} );
return 0;
}
3、随便写个CMakeLists.txt,内如如下:
cmake_minimum_required(VERSION 3.1)
project( test )
find_package( TBB REQUIRED)
add_executable( main test.cpp )
#add_library(maissn test.cpp)
#add_executable( main test.cpp )
target_link_libraries(main PRIVATE TBB::tbb)
target_compile_features(main PRIVATE cxx_std_11)
#target_link_libraries( TEST)
4、mkdir build && cd build
5、cmake ..
6、make -j8
7、./main
成功的话打印的应该是这个:
0
SUCCEED!!!
1
SUCCEED!!!
2
SUCCEED!!!
3
SUCCEED!!!
4
SUCCEED!!!
5
SUCCEED!!!
6
SUCCEED!!!
7
SUCCEED!!!
8
SUCCEED!!!
9
SUCCEED!!!
10
。。。
需要注意,包含#include <oneapi/tbb.h>后tbb::feeder才可使用