如何在Windows命令行用MS-MPI编译运行C/C++ MPI代码?
在Windows命令行用MS-MPI编译运行C/C++代码的步骤
1. 确认依赖环境
- 确保你已安装MinGW/Mingw-w64(gcc/g++可在CMD直接调用),且MS-MPI默认安装路径为
C:\Program Files\Microsoft MPI(自定义安装请替换为实际路径)。 - 无需额外配置系统环境变量,编译时手动指定路径即可。
2. 编写MPI示例代码
创建hello_mpi.cpp文件,内容如下:
#include <iostream> #include <mpi.h> int main(int argc, char** argv) { MPI_Init(&argc, &argv); int rank, size; MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); std::cout << "Hello from process " << rank << " of " << size << std::endl; MPI_Finalize(); return 0; }
3. 编译代码
打开CMD切换到代码所在目录,执行对应编译命令:
- 64位系统:
g++ -I"C:\Program Files\Microsoft MPI\Include" -L"C:\Program Files\Microsoft MPI\Lib\x64" hello_mpi.cpp -o hello_mpi.exe -lmsmpi
- 32位系统:
g++ -I"C:\Program Files\Microsoft MPI\Include" -L"C:\Program Files\Microsoft MPI\Lib\x86" hello_mpi.cpp -o hello_mpi.exe -lmsmpi
参数说明:
-I:指定MPI头文件目录-L:指定MPI库文件目录-lmsmpi:链接MS-MPI核心库
4. 运行MPI程序
在CMD中执行运行命令,-n后设置进程数:
mpiexec -n 4 hello_mpi.exe
执行后会输出4个进程的Hello信息。
常见问题处理
- 编译报错“找不到mpi.h”:检查
-I后的路径是否正确,确认MS-MPI安装目录下的Include文件夹存在该头文件。 - 运行报错“找不到msmpi.dll”:将
C:\Program Files\Microsoft MPI\Bin添加到系统环境变量Path,或把该目录下的msmpi.dll复制到exe同目录。 - gcc命令无法识别:确认MinGW/Mingw-w64的bin目录已加入系统
Path。
内容的提问来源于stack exchange,提问作者reza taghavi
相关产品推荐
相关产品推荐

