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