OpenMP-‘stdcout-not-specified-in-enclosing-parallel

12次阅读

共计 387 个字符,预计需要花费 1 分钟才能阅读完成。

转载请注明文章出处:https://tlanyan.me/openmp-std…

今天编译 OpenMP 时遇到了一个错误:”error:‘std::cout’not specified in enclosing parallel”。根据网上搜索结果,其出错原因为:omp制导语句使用了 default(none),代码块中的所有外部变量应该都显式声明为共享或者私有;std::coutstd空间中的一个静态变量,其出现在 omp 语句块中但未单独声明,所以出错了。

解决方案:1. 去掉 default(none);2. 在shared 声明中添加std::cout

另外,只要制导语句出现问题,附带都有一个“error: enclosing parallel”的错误。解决掉真正的错误,这个报错自然会消失。

参考

  1. Parallelize computation over ensemble with OpenMP
正文完
 0