アプリ版:「スタンプのみでお礼する」機能のリリースについて

とても困っているのでどなたかご存知の方、教えてください。

MACAir OS X 10.8.5を使っています
今まで普通にgccでコンパイルできていたのですが、
急にコンパイルエラーが出るようになりました。
思い当たる節としては、X-codeを新しいバージョン(5.0)にしたことです。

以下のようにOpenmpを実行するためにコンパイルしました。
$gcc -O hello_omp1.c -fopenmp
ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)

以下は、hello_omp1.cの中身です。
#include<stdio.h>
#ifdef _OPENMP
#include<omp.h>
#endif

int main()
{
#ifdef _OPENMP
printf("procs=%d\n",omp_get_num_procs());
printf("max #threads=%d\n",omp_get_max_threads());
#endif

#ifdef _OPENMP
#pragma omp parallel
{
printf("Hello world %d of %d\n",
omp_get_thread_num(),omp_get_num_threads());
}
#else
printf("Helloworld\n");
#endif
return 0;
}

A 回答 (2件)

ld: library not found for -lgomp


っていってるんだから, ライブラリがあるかどうかを調べるべし. ソースを出しても全く無意味.
    • good
    • 0

細かい調査はしていないのですが、最近のXCodeの更新で、「gcc」というコマンドの本体が clang になっているようです。


> clang: error: linker command failed with exit code 1 (use -v to see invocation
というエラーメッセージからもわかります。

現行XCodeに入っているclangはopenMPに対応していないようです。
コンパイルが通ってリンカが通らないのは、_OPENMPが未定義なためです。

OpenMPに対応させる方法はあるようです
http://clang-omp.github.io/

あるいは、本家のGCC(GNU Compiler Collection)をインストールして、そちらを使いましょう。
MacPorts等からインストールするのが楽でしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
まずXcodeにopenMPを対応させる方法を試してみます。

お礼日時:2013/11/21 11:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!