Karl
Karl

Reputation: 5733

Linker library for OpenMP for Snow Leopard?

Currently, I am trying out OpenMP on XCode 3.2.2 on 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;
}

I didn't include any linking libraries yet, so the linker complains:

"_omp_get_thread_num", referenced from: _main in main.o
"_omp_get_num_threads", referenced from: _main in main.o

OK, fine, no problem, I take a look in the existing framework, looking for keywords such as openmp or omp... here comes the problem, where is the linking library? Or should I say, what is the name of the linking library for openMP? Is it dylib, framework or what? Or do I need to get it from somewhere first?

Upvotes: 6

Views: 4962

Answers (3)

Chris Livdahl
Chris Livdahl

Reputation: 4740

In case anyone is wondering how to compile this in XCode 4, I had to enable OpenMP support as well.

I enabled OpenMP support by clicking on the Project, then under Build Options, I changed Enable OpenMP Support from No to Yes.

Also, I had to change the Compiler Version from "LLVM 2.0" to "GCC 4.2" or "LLVM GCC 4.2". Otherwise, the compiler couldn't find "omp.h".

Upvotes: 12

Charles Doutriaux
Charles Doutriaux

Reputation: 19

gcc -fopenmp -o mycode mycode.c

Upvotes: 1

Karl
Karl

Reputation: 5733

No need. We only need to enable OpenMP support under project setting.

Upvotes: 2

Related Questions