24
2019
01

OpenMP: ‘std::cout’ not specified in enclosing parallel

今天编译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

原文链接:https://www.qiquanji.com/post/4965.html

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

gzh

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。