You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11下VS Code中Fortran调用MPI库时mpif.h找不到的问题求助

问题描述

在Windows 11系统的VS Code中编写并运行Fortran物理模拟程序,需要启用MPI功能。已正确安装Microsoft MPI(MSMPI),在Windows PowerShell中执行set msmpi可查看到正确的环境变量:

MSMPI_BENCHMARKS=C:\Program Files\Microsoft MPI\Benchmarks\
MSMPI_BIN=C:\Program Files\Microsoft MPI\Bin\
MSMPI_INC=C:\Program Files (x86)\Microsoft SDKs\MPI\Include\
MSMPI_LIB32=C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x86\
MSMPI_LIB64=C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\

程序相关MPI代码片段如下(省略无关部分):

PROGRAM xyz

USE MPI

...irrelevant...

INCLUDE 'mpif.h'

...irrelevant...

CALL MPI_INIT(ierr)
CALL MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr)
CALL MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierr)

CALL MPI_REDUCE(var1, var2, 1, MPI_DOUBLE_PRECISION, MPI_SUM, 0, MPI_COMM_WORLD, ierr)

...irrelevant...

CALL MPI_FINALIZE(ierr)

END PROGRAM xyz

运行代码时收到错误:

Error: Can't open include file 'mpif.h'

已参考多个YouTube视频配置VS Code访问MPI库,但部分资料过时,VS Code设置已变更。当前修改后的settings.json内容如下:

{
    "workbench.colorTheme": "Visual Studio Dark",
    "explorer.confirmDelete": false,
    "code-runner.runInTerminal": true,
    "fortran.preferredCase": "uppercase",
    "fortran.linter.compiler": "gfortran",
    "editor.renderWhitespace": "none",
    "editor.accessibilitySupport": "off",
    "editor.tabSize": 6,
    "C_Cpp.default.includePath": [
        "C :\\Program Files\\Microsoft MPI\\MPI\\Include",
        "${workspaceFolder}/**",   
    ],

    "fortran.linter.includePaths": [
        "C:\\Program Files (x86)\\Microsoft SDKs\\MPI\\Include",
        "${workspaceFolder}/**",
    ],
    "fortran.fortls.preprocessor.directories": [
    ],
    "jake.autoDetect": "on",
    "grunt.autoDetect": "on",
    "gulp.autoDetect": "on",
    "json.schemas": [
    ]
}

不确定当前settings.json配置是否正确,仍无法解决找不到头文件的问题。作为编程新手,首次手动调用库,请求帮助解决该问题。

内容的提问来源于stack exchange,提问作者AD203

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 03:35:25