2010-05-24 9 views
6

Attualmente, sto provando OpenMP su XCode 3.2.2 su Snow Leopard:Libreria di linker per OpenMP per 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; 
} 

non ho incluso le librerie di collegamento ancora, quindi il linker si lamenta:

"_omp_get_thread_num", referenziati da: _main in main.o
"_omp_get_num_threads", fa riferimento a: _main in main.o

OK, va bene, non c'è problema, do un'occhiata in fr esistente amusement, cercando parole chiave come openmp o omp ... ecco che arriva il problema, dov'è la libreria di linking? O dovrei dire, qual è il nome della libreria di collegamento per openMP? È dylib, struttura o cosa? O devo prima averlo da qualche parte?

risposta

12

Nel caso qualcuno si chiede come compilare questo in XCode 4, ho dovuto abilitare il supporto OpenMP pure.

Abilitato il supporto OpenMP facendo clic sul progetto, quindi in Opzioni di creazione, ho modificato Abilita supporto OpenMP da No a Sì.

Inoltre, ho dovuto modificare la versione del compilatore da "LLVM 2.0" a "GCC 4.2" o "LLVM GCC 4.2". Altrimenti, il compilatore non ha trovato "omp.h".

+2

+1 Per me è stata anche richiesta la modifica della versione del compilatore. –

+0

Non riesco a trovare questa opzione su Xcode 6.3 – Marin

2

Non necessario. Abbiamo solo bisogno di abilitare il supporto OpenMP sotto l'impostazione del progetto.

1

gcc -o -fopenmp mycode mycode.c