Библиотека линкера для OpenMP для Snow Leopard? - PullRequest
6 голосов
/ 24 мая 2010

В настоящее время я пробую OpenMP на XCode 3.2.2 на Snow Leopard:

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

int main (int argc, char * const argv[]) {

    #pragma omp parallel
    printf("Hello from thread %d, nthreads %d\n", omp_get_thread_num(), omp_get_num_threads());
    return 0;
}

Я еще не включил библиотеки ссылок, поэтому компоновщик жалуется:

"_ omp_get_thread_num", на который ссылается: _main в main.o
"_omp_get_num_threads", на который ссылается: _main in main.o

ОК, хорошо, нет проблем, я смотрю в существующую среду, ища ключевые слова, такие как openmp или omp ... здесь возникает проблема, где находится библиотека ссылок? Или я должен сказать, как называется библиотека ссылок для openMP? Это dylib, рамки или как? Или мне сначала нужно откуда-то достать?

Ответы [ 3 ]

12 голосов
/ 12 апреля 2011

Если кому-то интересно, как это скомпилировать в XCode 4, мне также пришлось включить поддержку OpenMP.

Я включил поддержку OpenMP, щелкнув «Проект», затем в разделе «Параметры сборки» изменил параметр «Включить поддержку OpenMP» с Нет на Да.

Кроме того, мне пришлось изменить версию компилятора с «LLVM 2.0» на «GCC 4.2» или «LLVM GCC 4.2». В противном случае компилятор не может найти "omp.h".

2 голосов
/ 24 мая 2010

Нет необходимости. Нам нужно только включить поддержку OpenMP в настройках проекта.

1 голос
/ 04 июня 2010

gcc -fopenmp -o mycode mycode.c

...