2010-05-24 11 views
6

Actualmente, Estoy probando OpenMP en XCode 3.2.2 en Snow Leopard:Biblioteca de enlaces para OpenMP para 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; 
} 

que no incluía ninguna biblioteca de enlace, sin embargo, por lo que el enlazador se queja:

"_omp_get_thread_num", referenciados a partir de: _main en main.o
"_omp_get_num_threads", se hace referencia a partir de: _main en main.o

bien, muy bien, no hay problema, que miren en el fr existente mework, buscando palabras clave como openmp u omp ... aquí viene el problema, ¿dónde está la biblioteca de enlaces? O debería decir, ¿cuál es el nombre de la biblioteca de enlaces para openMP? ¿Es dylib, framework o qué? ¿O necesito obtenerlo de algún lugar primero?

Respuesta

12

En caso de que alguien se está preguntando cómo compilar esto en Xcode 4, que tuvieron que habilitar el soporte de OpenMP también.

He habilitado el soporte de OpenMP haciendo clic en el Proyecto, luego en Opciones de compilación, Cambié Habilite el Soporte de OpenMP de No a Sí.

Además, tuve que cambiar la versión del compilador de "LLVM 2.0" a "GCC 4.2" o "LLVM GCC 4.2". De lo contrario, el compilador no pudo encontrar "omp.h".

+2

+1 También es necesario cambiar la versión del compilador. –

+0

No puedo encontrar esta opción en Xcode 6.3 – Marin

2

No es necesario. Solo necesitamos habilitar el soporte de OpenMP bajo la configuración del proyecto.

1

gcc -o -fopenmp mycode mycode.c

Cuestiones relacionadas