0
我正在尝试使用OpenMP在Visual Studio 2005 Professional中创建一个并行循环。我已经包含了omp.h并指定了/ openmp编译器标志。但是,我甚至无法获得最简单的并行循环编译。Visual Studio 2005中的OpenMP
#pragma omp parallel for
for (int i = 0; i < 10; ++i)
{
int a = i + i;
}
上述情况会在#pragma行产生编译错误C3005。
谷歌并没有太多的帮助。我只发现一个用户遇到过类似问题的日本网站。没有提及决议。
一个标准的并行块编译正常。
#prgram omp parallel
{
// Do some stuff
}
直到您尝试添加for循环。
#pragma omp parallel
{
#pragma omp for
for (int i = 0; i < 10; ++i)
{
int a = i + i;
}
}
以上原因会导致编译器错误C3001。看起来'for'令编译器感到困惑,但它不应该是。有任何想法吗?
很奇怪。我刚刚编译了所有三个代码片段,没有任何问题。 – macbirdie