3

私はライオンとxcode 4.2を使用しています。macports を使用して openmpi をインストールしました。すべて正常にインストールされました。

ただし、例をコンパイルするためにどのライブラリをどのように含めるかを教えてくれるガイドが見つかりません(以下を参照)

#include <mpi.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
    int numprocs;
    int myid;
    MPI_Status stat; 

    /* all MPI programs start with MPI_Init */
    MPI_Init(&argc,&argv);     

    /* Comm_size tells us how many processes there are  */
    MPI_Comm_size(MPI_COMM_WORLD,&numprocs); 

    /* Comm_rank finds the rank of the process */
    MPI_Comm_rank(MPI_COMM_WORLD,&myid); 

    /* Print out a message */
    printf("Hello world, from process %d of %d\n", myid, numprocs);  

    /* MPI Programs end with MPI Finalize; this is a weak synchronization point */
    MPI_Finalize(); 

    return 0; 
} 

Xcode は、mpi.h が見つからないことを報告します。

4

4 に答える 4

10

これは本当に簡単です。OpenMPI Web サイトの指示に従うか、次のようにすることができます (これにより、プログラムを他のライブラリとリンクするのに役立ちます)。

ナビゲーター(左側のパネル) で、プロジェクトを選択します。ビルド設定ライブラリ検索パスを検索し、MPI ライブラリがあるパス (/usr/local/lib) を入力します。

次に、User Header Search Pathsを探し、MPI ヘッダーがあるパス (/usr/local/include) を入力します。

最後に、Build PhasesでLink Binary with Libraries を探し、プラス記号 (+) をクリックし、Add Otherをクリックし、Cmd+Shift+G を押しlibmpi.1.dylibて、ライブラリが存在するパスlibmpi_cxx.1.dylib(/usr/local/lib) を入力します。ビルドと実行の両方で、魅力的に機能するはずです。

少し遅れましたが、おそらくこれは他の誰かに役立ちます。

于 2013-09-21T10:53:05.403 に答える
2

Open-mpi には、まさにこれを行うためのウォークスルーがあります。どうぞ

于 2012-02-22T03:18:26.647 に答える
2

あなたは2つのことをしたい:

1) グラブ

libmpi.1.dylib

libmpi_cxx.1.dylib

それらをアプリのプロジェクトフォルダーにコピーします

2) HEADER_SEARCH_PATHS に mph.h ファイルの場所を追加します (おそらく /usr/local/include)

$PATH に OpenMPI をインストールしたパスがあるかどうかも確認してください。そうしないと、コンパイル時にエラーが発生します。

幸運を!

于 2012-11-22T08:29:28.880 に答える
1

Dhaivat のリンクに加えて、いくつかの Open-MPI チュートリアルがここここにあります。

于 2012-02-22T03:37:02.703 に答える