使用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

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

#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;
}

运行就可以看到

#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的方法

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。