6

現在、SnowLeopardのXCode3.2.2でOpenMPを試しています。

#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 in main.o
"_omp_get_num_threads"、参照元:_main in main.o

OK、問題ありません。既存のフレームワークを調べて、openmpやompなどのキーワードを探します...ここで問題が発生します。リンクライブラリはどこにありますか?または、openMPのリンクライブラリの名前は何ですか?それはdylib、フレームワーク、または何ですか?それとも、最初にどこかから入手する必要がありますか?

4

3 に答える 3

12

これをXCode4でコンパイルする方法を知りたい人がいる場合は、OpenMPサポートも有効にする必要がありました。

プロジェクトをクリックしてOpenMPサポートを有効にし、[ビルドオプション]で[OpenMPサポートを有効にする]を[いいえ]から[はい]に変更しました。

また、コンパイラのバージョンを「LLVM2.0」から「GCC4.2」または「LLVMGCC4.2」に変更する必要がありました。それ以外の場合、コンパイラは「omp.h」を見つけることができませんでした。

于 2011-04-11T23:30:54.750 に答える
2

必要なし。プロジェクト設定でOpenMPサポートを有効にするだけで済みます。

于 2010-05-24T15:27:35.113 に答える
1

gcc -fopenmp -o mycode mycode.c

于 2010-06-04T00:41:30.227 に答える