質問: Techglimpse様、MPICHバージョン1.2.6を使用してMPIプログラム(PI値を計算する簡単なサンプルプログラム)をコンパイルしようとしています。以下は、コンパイルに使用したコマンドです。
mpicc -o a.out pi.c
ただし、コマンドは失敗し、「 `sqrt'への未定義の参照」というエラーメッセージが表示されました。 「。コードを確認しましたが、 math.h 定義されています。何が問題なのですか? –スーリヤ
詳細なエラーメッセージ:
$ mpicc -o mpi-pi pi.c /tmp/ccwuQwDw.o: In function `main': pi.c:(.text+0x15f): undefined reference to `sqrt' collect2: ld returned 1 exit status
解決策:
スーリヤ、数学ライブラリをリンクする必要があります 以下に示すようにコンパイル中:
$ mpicc -o a.out pi.c -lm
libm.so / usr / libの下にあります 。ただし、場所はマシンごとに異なる場合があります。
$ whereis libm.so libm: /usr/lib/libm.so /usr/lib/libm.a
オプション-lm 、‘ l ‘は接頭辞「lib」と‘ mを指します ‘数学用。