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

轉載請註明文章出處:https://tlanyan.me/openmp-std...code

今天編譯OpenMP時遇到了一個錯誤:"error: ‘std::cout’ not specified in enclosing parallel"。根據網上搜索結果,其出錯緣由爲:omp制導語句使用了default(none),代碼塊中的全部外部變量應該都顯式聲明爲共享或者私有;std::coutstd空間中的一個靜態變量,其出如今omp語句塊中但未單獨聲明,因此出錯了。ci

解決方案:1. 去掉default(none);2. 在shared聲明中添加std::coutget

另外,只要制導語句出現問題,附帶都有一個「error: enclosing parallel」的錯誤。解決掉真正的錯誤,這個報錯天然會消失。it

參考

  1. Parallelize computation over ensemble with OpenMP
相關文章
相關標籤/搜索