Как установить и использовать Openmp в коде - PullRequest
0 голосов
/ 30 января 2020

Я правильно установил и запустил c / c ++ в vscode, моя версия g cc - 8.2.0, и я установил MinGw

. Я использую VS-код для запуска моей C программы

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

int main(int argc, char* argv[])
{
    int nthreads, tid;
    {
        tid = omp_get_thread_num();
        printf("welcome to GFG from thread = %d\n", tid);
        if (tid == 0){
            nthreads = omp_get_num_threads();
            printf("number of threads = %d\n", nthreads);
        }
    }
}

но это не сработало, потому что

[Running] cd "c:\cexam\" && gcc openmp_helloword.c -o openmp_helloword && "c:\cexam\"openmp_helloword
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: C:\Users\WinstonLi\AppData\Local\Temp\ccAAWXl3.o:openmp_helloword.c:(.text+0xf): undefined reference to `omp_get_thread_num'
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: C:\Users\WinstonLi\AppData\Local\Temp\ccAAWXl3.o:openmp_helloword.c:(.text+0x33): undefined reference to `omp_get_num_threads'
collect2.exe: error: ld returned 1 exit status

Ответы [ 2 ]

1 голос
/ 30 января 2020

Вы должны включить openmp в параметрах кода.

Щелкните правой кнопкой мыши свой проект, выберите «Свойства», затем C / C ++, затем «Язык» и измените «Поддержка OpenMP» на «Да». ».

Следует добавить параметр -fopenmp к параметрам компиляции.

1 голос
/ 30 января 2020

g cc openmp_helloword. c -o openmp_helloword

Во время ссылки отсутствуют библиотеки. g cc добавит их для вас с -fopenmp. Рассмотрим документацию:

https://gcc.gnu.org/onlinedocs/gcc/C-Dialect-Options.html#index -fopenmp

...