Wie kann ich kompilieren openmpi-Programme mit xcode 4?
Ich bin mit lion und xcode 4.2. Ich installierte openmpi mit macports. Es sind alle erfolgreich installiert.
Doch ich kann nicht finden Sie eine Anleitung, um mir zu sagen, wie/welche Bibliotheken gehören zu kompilieren eines Beispiels (siehe unten)
#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 Berichte, mpi.h fehlt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Open-mpi ist eine Exemplarische Vorgehensweise, genau das zu tun. Hier gehen Sie.
/Library/Application Support/Apple/Developer Tools
existiert nicht mehrDies ist wirklich einfach. Sie können entweder Folgen Sie den Anweisungen in OpenMPI website oder könnten Sie Folgendes tun (die wird Sie dabei unterstützen, jede Anwendung mit jeder anderen Bibliothek).
In der Navigator (Links) wählen Sie das Projekt aus. In der Build-Einstellungen Suche nach Bibliotheks-Suchpfade und setzen Sie den Pfad, in dem die MPI-Bibliotheken (/usr/local/lib)
Dann suchen User Header Search Paths und setzen Sie den Pfad, in dem die MPI-Header sind in/usr/local/include)
Schließlich in die Build-Phasen suchen Link-Binary mit Bibliotheken klicken Sie auf das plus-Zeichen (+), klicken Sie auf Hinzufügen Andere, drücken Sie Cmd+Shift+G und setzen Sie den Pfad, in dem die Bibliotheken
libmpi.1.dylib
,libmpi_cxx.1.dylib
sind (/usr/local/lib) hinzufügen, erstellen und ausführen und es sollte funktionieren wie ein Charme.Ein bisschen spät, aber wahrscheinlich ist dies jemandem hilft.
libmpi.12.dylib
stattlibmpi.1.dylib
. Auch ich konnte es mit#include "mpi.h"
anstatt#include <mpi.h>
. Hoffentlich ist es weiterhin hilfreich zu sein![sudo] brew install openmpi
Du willst 2 Sachen zu machen:
1) Greifen
libmpi.1.dylib
libmpi_cxx.1.dylib
und kopieren Sie Sie in den Projekt-Ordner Ihrer app
2) hinzufügen, um die HEADER_SEARCH_PATHS die Lage Ihres mph.h-Datei (wahrscheinlich /usr/local/include)
Prüfen Sie auch, wenn Sie Ihre $PATH ist der Pfad, auf dem Sie installiert OpenMPI; andernfalls ist dabei, führen zu einem Fehler bei der Kompilierung.
Glück!
Neben Dhaivat link, da sind einige Open-MPI-tutorials hier und hier.