我使用管理员权限从控制台下载并安装了mpich2-1.0.8p1-win-x86-64.msi
。我创建了空的win32控制台项目,我创建了文件code.cpp并粘贴了这个示例代码。
#include <stdio.h>
#include "mpi.h"
int main(int argc, char* argv[])
{
int ProcNum, ProcRank, RecvRank;
MPI_Status Status;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &ProcNum);
MPI_Comm_rank(MPI_COMM_WORLD, &ProcRank);
if (ProcRank == 0)
{
printf("\n Hello from process %3d", ProcRank);
for (int i = 1; i < ProcNum; i++)
{
MPI_Recv(&RecvRank, 1, MPI_INT, MPI_ANY_SOURCE,
MPI_ANY_TAG, MPI_COMM_WORLD, &Status);
printf("\n Hello from process %3d", RecvRank);
}
}
else
MPI_Send(&ProcRank, 1, MPI_INT, 0, 0, MPI_COMM_WORLD);
MPI_Finalize();
return 0;
}
后来我将项目属性转到VC ++目录并添加了包含目录和库目录。在链接器/输入/附加依赖项中,我写了mpi.lib,在C / C ++ /语言中我允许Open MP支持。当我编译我的项目时,我遇到了奇怪的错误。你能帮助我吗?我无法理解我做错了什么,因为我是用教程做的。
答案 0 :(得分:3)
您的第一个(也是唯一的)警告表明您正在将64位库与32位版本链接起来。您需要提供32位库或构建64位体系结构以消除链接器错误。