Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在CLion中设置基本openMP项目_C++_Cmake_Mingw_Openmp_Clion - Fatal编程技术网

C++ 如何在CLion中设置基本openMP项目

C++ 如何在CLion中设置基本openMP项目,c++,cmake,mingw,openmp,clion,C++,Cmake,Mingw,Openmp,Clion,我正在尝试在CLion IDE中运行simpleOpenMP程序。 当我运行它时,我得到一个错误: 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 s

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

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;
}
以下是我的工具链屏幕:


我对
OpenMP
没有任何经验,而且我是
C++
的初学者,所以请给我一点解释如何设置我的项目。

所以过了一会儿我就明白了。我更改了CmakeLists.txt,如下所示:

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})

我需要通过安装openmp。

显示了支持多个编译器的更好设置,而不是硬编码gcc标志。不幸的是,这对我不起作用。这是唯一一个在Mac OS和CLion上对我有效的答案:
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})