从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
答案 0 :(得分:0)
我在askmpi@microsoft.com上提出了这个问题。他们回答说我应该 在Visual Studio Tools文件夹中使用不同的命令提示符。
当我使用x64 Native Tools命令提示符时,链接步骤现在可以正常工作。