【问题标题】:How do I compile openmpi programs using xcode 4?如何使用 xcode 4 编译 openmpi 程序?
【发布时间】:2012-03-12 09:59:35
【问题描述】:

我使用的是 lion 和 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。

【问题讨论】:

    标签: xcode macos osx-lion parallel-processing openmpi


    【解决方案1】:

    Open-mpi 有一个演练可以做到这一点。 Here you go.

    【讨论】:

    • 它似乎不再工作,因为目录/Library/Application Support/Apple/Developer Tools 不再存在
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      你想做两件事:

      1) 抓住

      libmpi.1.dylib

      libmpi_cxx.1.dylib

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

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

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

      祝你好运!

      【讨论】:

        【解决方案4】:

        这真的很容易。您可以按照 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.dyliblibmpi_cxx.1.dylib 所在的路径 (/usr/local/lib) 添加、构建​​和运行,它应该像一个魅力一样工作。

        有点晚了,但可能这对其他人有帮助。

        【讨论】:

        • 谢谢,这很有帮助。
        • 这是一个很好的教程。我不得不使用(假设只是更高版本)libmpi.12.dylib 而不是libmpi.1.dylib。另外,我必须使用#include "mpi.h" 来包含它,而不是使用#include &lt;mpi.h&gt;。希望这会继续对您有所帮助!
        • 另外,我必须首先安装它,使用[sudo] brew install openmpi
        猜你喜欢
        • 2011-10-31
        • 1970-01-01
        • 2012-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-07
        • 1970-01-01
        相关资源
        最近更新 更多