错误:“num_thread”之前的预期“#pragma omp”子句

Posted

技术标签:

【中文标题】错误:“num_thread”之前的预期“#pragma omp”子句【英文标题】:error: expected '#pragma omp' clause before 'num_thread' 【发布时间】:2019-03-07 11:27:39 【问题描述】:

openmp 新手。我的环境如下:

ubuntu 16.04TLS
gcc 7.3.0

我的代码如下:

#include <omp.h>
#include <iostream>

int main()

    #pragma omp parallel num_thread(2)
    
        std::cout << "Hello World!\n";
    

    return 0;

和命令:

gcc -fopenmp main.cpp -o main

错误显示:

#pragma omp parallel num_thread(2)

我应该怎么做才能解决这个问题?谢谢!

【问题讨论】:

【参考方案1】:

如果您想明确指定 OpenMP 中的线程数,您必须使用 num_threads()s

#include <omp.h>
#include <iostream>

int main()

    #pragma omp parallel num_threads(2)
    
        std::cout << "Hello World!\n";
    

    return 0;

【讨论】:

以上是关于错误:“num_thread”之前的预期“#pragma omp”子句的主要内容,如果未能解决你的问题,请参考以下文章

我收到错误错误类型参数一元减号和预期';'在 ':' 标记之前

C++:错误:“”标记之前的预期类名

gcc 错误“预期 ')' 在 '[' 标记”之前

错误:数字常量之前的预期';',','或')[关闭]

在struct之前的错误预期表达式

非常基本的继承:错误:“”标记之前的预期类名