2010-05-24 9 views
6

Zur Zeit versuche ich, aus OpenMP auf XCode 3.2.2 auf Snow Leopard:Linker-Bibliothek für OpenMP für 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; 
} 

ich keine Verknüpfung Bibliotheken noch enthalten waren, so der Linker klagt:

"_omp_get_thread_num", verwiesen von: _main in main.o
"_omp_get_num_threads", von verwiesen: _main in main.o

OK, fein, kein Problem, nehme ich einen Blick in dem bestehenden fr Amework, Suche nach Schlüsselwörtern wie openmp oder omp ... hier kommt das Problem, wo ist die Linking-Bibliothek? Oder soll ich sagen, wie heißt die Verknüpfungsbibliothek für openMP? Ist es Dylib, Framework oder was? Oder muss ich es von irgendwoher holen?

Antwort

12

Falls sich jemand fragt sich, wie das 4 in XCode zu kompilieren, ich hatte auch OpenMP-Unterstützung zu aktivieren.

Ich habe die OpenMP-Unterstützung aktiviert, indem ich auf das Projekt geklickt habe, dann habe ich unter Build-Optionen die Option Enable OpenMP Support von No auf Yes geändert.

Außerdem musste ich die Compiler-Version von "LLVM 2.0" zu "GCC 4.2" oder "LLVM GCC 4.2" ändern. Andernfalls konnte der Compiler "omp.h" nicht finden.

+2

+1 Das Ändern der Compiler-Version wurde auch für mich benötigt. –

+0

Ich kann diese Option auf Xcode 6.3 nicht finden – Marin

2

Keine Notwendigkeit. Wir müssen die OpenMP-Unterstützung nur unter Projekteinstellung aktivieren.

1

gcc -fopenmp -o mycode mycode.c