引言
最近课程设计需要用到openMP进行C++并行编程,我在windows上使用的IDE是CLion,CLion中配置的编译环境是MinGW3.2
第一步:配置-fopenmp编译参数
在CMakeLists.txt中添加如下配置:
set(CMAKE_CXX_FLAGS "-fopenmp")
这一步的作用是增加一个"-fopenmp"的编译选项,如果只进行第一步就尝试对程序进行编译的话,会因为缺少pthread库而发生如下cannot find -lpthread的错误:
cannot find pthread
第二步:下载安装pthread库
通过链接ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-8-0-release.exe下载pthreads安装文件,双击这个文件将其解开,然后将解开后的Pre- built.2/lib文件夹中的ibpthreadGC2.a改名为libpthread.a复制到MinGW目录的lib目录中,将Pre- built.2/include文件夹中的pthread.h
文件复制到MinGW目录的include目录中即可。
第三步:测试一个openMP程序
创建一个C++源文件,然后将以下代码复制进去:
#include <iostream>
int main()
{
#pragma omp parallel
{
std::cout << "Hello World!\n";
}
}
该程序应该会输出和你的CPU核数一样多的Hello World。到此配置就结束了,另外推荐一个不错的openMP学习资料:
https://www.ibm.com/developerworks/cn/aix/library/au-aix-openmp-framework/
网友评论