MPI microsoft命令行编译x86冲突链接错误

时间:2016-03-29 17:43:51

标签: c++ command-line mpi

从VS 2013的开发人员命令提示符,我尝试编译和链接 一个简单的测试MPI程序。

使用下面复制的两个批处理文件,我输入:

mpicc mpi
mpicl mpi

在链接步骤中,我收到以下错误消息:

mpi.obj:致命错误LNK1112:模块机器类型' X86'与目标m的冲突 achine type' x64'

我一直在关注"如何编译和运行简单的MS-MPI 程序:"在: http://blogs.technet.com/b/windowshpc/archive/2015/02/02/how-to-compile-and-run-a-simple-ms-mpi-program.aspx

我看到(x86)似乎与我正在编译的事实相冲突 六十四位,但我不知道还有什么要指明,因为那就是 MPI安装将文件置于问题中。

这是mpicc.bat批处理文件

cl /I"c:\Program Files (x86)\Microsoft SDKs\MPI\Include" /I"C:\Program Files (x86)\Microsoft SDKs\MPI\Include\x64" /I /I"c:\program Files(x86)\Microsoft SDKs\windows\v8.1A\Include" /I"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\Include" /c %1.cpp

这是mpicl.bat批处理文件

link /machine:x64 /out:%1.exe /dynamicbase "msmpi.lib" /libpath:"c:\program Files (x86)\Microsoft SDKs\MPI\Lib\x64" /libpath:"c:\program files (x86)\Microsoft\Visual Studio 12.0\VC\LIB\amd64" /libpath:"c:\program files (x86)\Microsoft SDKs\Windows\v8.1A\x64" %1%.obj

1 个答案:

答案 0 :(得分:0)

我在askmpi@microsoft.com上提出了这个问题。他们回答说我应该 在Visual Studio Tools文件夹中使用不同的命令提示符。

当我使用x64 Native Tools命令提示符时,链接步骤现在可以正常工作。