在VS2013的开发者命令提示符中,我尝试编译和链接一个简单的测试MPI程序。
使用下面复制的两个批处理文件,我键入:
mpicc mpi
mpicl mpi在链接步骤中,我得到了以下错误消息:
mpi.obj :致命错误LNK1112:模块计算机类型'X86‘与目标计算机类型'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),这似乎与我正在编译64位的事实相冲突,但我不知道还应该指定什么,因为这是MPI install将有问题的文件放入的位置。
下面是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发布于 2016-04-20 07:07:03
我在askmpi@microsoft.com上问了这个问题。他们回答说,我应该使用Visual Studio Tools文件夹中的其他命令提示符。
当我使用x64本机工具命令提示符时,链接步骤现在可以正常工作。
https://stackoverflow.com/questions/36291415
复制相似问题