[英]What are XCode 8 Environment Variables to run Intel Threading Building Blocks
我安裝了英特爾線程構建模塊。 我無法為 XCode 設置環境變量(lib 和包含路徑)。
首先,我想編寫一個簡單的 parallel_for 程序,我什至無法在我的程序中添加命名空間tbb
。
有人可以幫忙嗎?
這很簡單:安裝它的最佳方法:
brew install tbb
需要Homebrew ,強烈推薦給任何想要使用各種開源工具的 Mac 用戶。
之后執行brew info tbb
以查看安裝目錄,在我的情況下
/usr/local/Cellar/tbb/2017_U7
結果是
/usr/local/Cellar/tbb/2017_U7/include/
/usr/local/Cellar/tbb/2017_U7/lib/
對於各自的項目設置, Header Search Paths
和Library Search Paths
。
在Other Linker Flags
中輸入-ltbb
就可以了。
我已經用 Xcode 8.3 中的上述設置驗證了這個例子
#include "tbb/parallel_for.h"
#include "tbb/task_scheduler_init.h"
#include <iostream>
#include <vector>
struct mytask {
mytask(size_t n)
:_n(n)
{}
void operator()() {
for (int i=0;i<1000000;++i) {} // Deliberately run slow
std::cerr << "[" << _n << "]";
}
size_t _n;
};
int main(int,char**) {
//tbb::task_scheduler_init init; // Automatic number of threads
tbb::task_scheduler_init init(tbb::task_scheduler_init::default_num_threads()); // Explicit number of threads
std::vector<mytask> tasks;
for (int i=0;i<1000;++i)
tasks.push_back(mytask(i));
tbb::parallel_for(
tbb::blocked_range<size_t>(0,tasks.size()),
[&tasks](const tbb::blocked_range<size_t>& r) {
for (size_t i=r.begin();i<r.end();++i) tasks[i]();
}
);
std::cerr << std::endl;
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.