undefined reference to `omp_get_thread_num'

关于#pragma的用法及简介

参考链接1:https://blog.csdn.net/dayou1024/article/details/90475389.
参考链接2:https://blog.csdn.net/weixin_39640298/article/details/84503428

使用中的问题

#include 
#include 
#include "omp.h"
using namespace std;

int main() {
    omp_set_num_threads(4);
#pragma omp parallel

    for (int i = 1;i<100;i++)
        printf("%d\n",i);
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

在使用中发现报错:undefined reference to `omp_set_num_threads’,使用的IDE是CLION,这里需要修改CMakeLists.txt 文件
增加

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

编译通过.

你可能感兴趣的:(C/C++)