如何解决 C 中未定义的 omp_get_wtime?

How can I resolve omp_get_wtime undefined in C?

我有一个带有 OpenMP 库的 C 程序。我正在尝试测量一个循环的执行时间以添加数字,除了我收到一个错误,即函数 omp_get_wtime() 的引用未定义,而我的 header 部分中包含库文件代码文件...

为什么会出现此错误,我该如何解决?

#include <omp.h>
#include <stdlib.h>
#include <string.h>

int main(){
    // Number of threads to use
    int no_threads = 3;

    // Mark the execution go mark
    double start = omp_get_wtime();

    // Parallelize the loop
    #pragma omp parallel num_threads(no_threads)

    for(int i=0; i<1000; i++){
        printf("%d", i);
    }

    double end_time = omp_get_wtime();
    printf("%f", end_time - start);
}

我什至在开始使用 #pragma 指令之前就尝试编译,但得到了 omp 函数未定义的错误,文件中的函数。

您应该构建一个带有标志的 OMP 程序。

gcc -fopenmp test.c