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 网站上的说明进行操作,也可以执行以下操作(这将帮助您将任何程序与任何其他库链接)。

导航器(左侧面板)中选择项目。在Build settings 中搜索Library Search Paths并放置 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

你想做两件事:

1) 抢

libmpi.1.dylib

libmpi_cxx.1.dylib

并将它们复制到您应用的项目文件夹中

2) 将 mph.h 文件的位置(可能是 /usr/local/include)添加到 HEADER_SEARCH_PATHS

还要检查你的 $PATH 是否有你安装 OpenMPI 的路径;不这样做将导致编译时出错。

祝你好运!

于 2012-11-22T08:29:28.880 回答
1

除了 Dhaivat 的链接,这里这里还有一些 Open-MPI 教程。

于 2012-02-22T03:37:02.703 回答