如何在CLion中设置基本的openMP项目 [英] How to set up basic openMP project in CLion

查看:810
本文介绍了如何在CLion中设置基本的openMP项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在CLion IDE中运行简单的OpenMP程序. 当我运行它时,我得到一个错误:

I am trying to run simple OpenMP program in CLion IDE. When I run it I get an ERROR:

CMakeFiles\openmp_test_clion.dir/objects.a(main.cpp.obj): In function `main':
D:/.../openmp_test_clion/main.cpp:9: undefined reference to 'omp_get_thread_num'
collect2.exe: error: ld returned 1 exit status

这是我的代码:

#include <stdio.h>
#include <omp.h>

int main()
{
    int id;
#pragma omp parallel private(id)
    {
        id = omp_get_thread_num();
        printf("%d: Hello World!\n", id);
    }
    return 0;
}

这是我的CMakeLists.txt:

cmake_minimum_required(VERSION 3.6)
project(openmp_test_clion)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(openmp_test_clion ${SOURCE_FILES})

message(STATUS "Checking OpenMP")
find_package(OpenMP)
IF(OPENMP_FOUND)
    message("Found OpenMP!)
    # add flags for OpenMP
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OpenMP_SHARED_LINKER_FLAGS}")
    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
ELSE()
    message("Missed OpenMP!")
ENDIF()

这是我的工具链的屏幕:

Here is screen of my toolchains:

我对OpenMP的使用经验为零,并且是C++的初学者.因此,请给我一些解释,说明如何设置我的项目.

I have zero experience with OpenMP and I am beginner programmer in C++ so please give me a bit of an explanation how to setup my project.

推荐答案

所以过了一会儿,我发现了.我将CmakeLists.txt更改如下:

So after a while I figured it out. I changed CmakeLists.txt as following:

cmake_minimum_required(VERSION 3.6)
project(openmp_test_clion)

# added -fopenmp
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fopenmp")

set(SOURCE_FILES main.cpp)
add_executable(openmp_test_clion ${SOURCE_FILES})

我需要通过 TDM-GCC安装程序安装openmp.

And I needed to install openmp via TDM-GCC installer .

这篇关于如何在CLion中设置基本的openMP项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆