VS2015下TBB2020配置及使用

VS2015下TBB2020配置

勉力编了一个计算量稍大的数值计算程序,为了加快计算速度,准备使用 Intel TBB 让程序并行运行。但好不容易才建好环境,现在将之记录下来。很不专业,请大家指正。

基本环境

**操作系统:**win10
**IDE:**VS2015
TBB版本: 下载自 https://github.com/intel/tbb,由于连git都不怎么会用,直接下载的zip。
下载界面
下载好的zip文件内的内容
将下载后的压缩包解压到指定位置,在我这儿是放在了F盘里面。解压后的位置及文件夹内容见下图。
解压后的文件夹

使用VS2015编译TBB

  1. 直接使用VS2015打开文件夹F:\Program Files\tbb-tbb_2020\build\vs2013内的工程 tbb.vcxproj。期间会有安全提示及将该版本什么的内容,点是。(由文件夹目录来看,该工程本来应该是在vs2013下创建的,现在我们用vs2015打开,因此会弹出需要升级的窗口。)
    打开的工程
    点击确定

  2. 打开的是三个工程,本文中没有更改解决方案的版本,版本如下。
    工程版本

  3. 右击解决方案,再点击重新生成解决方案,进行编译等操作。
    生成解决方案

  4. 生成的结果。至此,应该相当于完成了TBB的编译连接等,现在就可以关掉刚才打开的项目了。
    重新生成解决方案成功

用VS2015做最简单的例子

  1. 新建一个控制台应用程序,选择空项目。
    新建测试项目
    选择空项目
  2. 注意项目版本。应该要与之前生成TBB的版本一致。
    新建项目的版本应该与之前生成TBB时项目的版本一致
  3. 添加一个空的cpp文件。
    添加新建项操作
    添加空的cpp文件
  4. 输入测试代码。(来自https://blog.csdn.net/dwosion/article/details/72724371)
    #include <tbb/tbb.h>
    #include
    using namespace std;
    using namespace tbb;
    int main()
    {
    parallel_for(0, 10, [](int num) {cout << num << ":hello tbb " << endl; });
    getchar();
    return 0;
    }
  5. 包含目录设置。将上述代码输入后,因为不能找到头文件,因此需要手动添加 tbb 相关的头文件所在位置。
    右击项目名称,接着选择**属性**
    在配置属性-VC++目录-包含目录中添加tbb 的include 文件夹   F:\Program Files\tbb-tbb_20201\include。该过程中同样需要将工程版本与之前的保持一致,本例中为debug-Win32
    tbb 的 include 文件夹
    在添加完include 文件夹后,编辑器中应该不会有红线错误提示了。
  6. 加载lib。上面编辑器中虽然无语法错误了,但是如果此时编译,应该会因为找不到 tbb_debug.lib 而失败,该文件在F:\Program Files\tbb-tbb_20201\build\vs2013\Win32\Debug里,需要手动添加本目录到工程的库目录中。
    添加 lib 所在目录
  7. 加载dll。现在,新建的工程应该可以编译通过但是运行时提示缺失 tbb_debug.dll,该文件在文件夹F:\Program Files\tbb-tbb_20201\build\vs2013\Win32\Debug中,所以我判断需要将这些文件的地址告诉VS工程。 为此我找了如何添加dll的办法,借签此文中修改环境变量的方法(https://blog.csdn.net/liguangxilgx/article/details/80552378)。即,将上述 Debug文件夹加入环境变量 Path 中。
    添加环境变量以便调用相关 dll
  8. 编译工程并运行。运行结果如下。
    运行结果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值