详解CLion配置openMP的方法

时间:2021-10-16 22:48:13

使用MinGW64在Clion中配置openMP的开发 安装MinGW64和CLion配置CMakeList.txtCLion 2020.2.3
Build #CL-202.7319.72, built on September 18, 2020
对openMP编译制导的格式问题踩坑


下载

MinGW64

CLion


创建工程,配置CMakeList.txt

?
1
2
3
4
5
6
7
8
9
10
11
cmake_minimum_required(VERSION 3.17)
project(openMP C)
set(CMAKE_C_STANDARD 99)
add_executable(openMP main.c)
# openMP 配置
FIND_PACKAGE(OpenMP REQUIRED)
if (OPENMP_FOUND)
    message("OPENMP FOUND"
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}"
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
endif ()

编写openMP并行的demo

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <omp.h>
 
int main(int argc, char **argv) {
 
#pragma omp parallel
  {
    int id = omp_get_thread_num();
    printf("%d\n", id);
    if (id == 3) {
      printf("我是三号线程、、、");
    }
  }
  return 0;
}

运行就可以看到

?
1
2
3
4
5
6
7
8
#pragma omp parallel
  {
    int id = omp_get_thread_num();
    printf("%d\n", id);
    if (id == 3) {
      printf("我是三号线程、、、");
    }
  }

CLion踩的坑

本来以为配置好了之后,就可以愉快的进行学习了,结果一直报错,错误是Expected expression,就在int的位置,我当时真的是想不明白,原来是因为在#pargma omp parallel 这句编译制导语句后面不能直接写那个花括号,只能另起一行,难搞哦,另起了一行之后,可以运行了,但是这个IDE的提示还有些瑕疵,如下所示

详解CLion配置openMP的方法
详解CLion配置openMP的方法

到此这篇关于详解CLion配置openMP的方法的文章就介绍到这了,更多相关CLion配置openMP内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_40522155/article/details/108976495