☰
VS2019 配置 Fortran 开发环境:从安装到第一个项目全流程
2026/10/2 8:04:53 网站建设 项目流程

简介:这是一份面向 Visual Studio 2019 用户的 Fortran 环境配置保姆级图文教程,适合刚接触 VS2019、需要编译旧 Fortran 代码或希望系统掌握安装细节的初学者。文档从官网停止提供 vs_community_2019.exe 的应对入手,逐步演示如何修改默认安装路径以避开 C 盘、安装 HPC Toolkit 高性能计算工具包、在向导中选择 Customize 自定义组件,以及创建 Fortran 项目的完整流程。针对运行环节常见报错,文档还整理了 “Debuglx64 要求 x64 平台编译器” 的解决方案、旧代码在 x64/win32/release/debug 下的兼容处理、通过替换 vfproj 文件内容引入旧代码、以及调整 Fortran-libraries 编译属性等排错思路,并附有知乎和 B 站参考视频链接,便于对照学习。资源包为 1 个 docx 文档,约 4.1MB,内容紧凑图文并茂,可边看边操作,从下载安装到最终运行输出均有对应说明。目前已有 1650 人学习,适合希望快速搭建 Fortran 编译环境并避开常见雷区的开发者,也适合作为后续配置时的参考手册。

1. 为什么还在用 VS2019 跑 Fortran:老代码、老工具链与最小折腾路径

拿到一套十几年前写好的 Fortran 计算程序,或者选了一门用 Fortran 做数值计算的课,第一反应往往是「装个编译器直接跑」。但你会发现,Fortran 不像 C++ 那样装完 Visual Studio 就能写——VS2019 并不内置 Fortran 语言服务,你装完 VS2019 打开新建项目,搜遍模板也找不到 Fortran。这时候多数人会卡在「装哪个编译器、装完怎么认不出来、项目怎么建」这三件事上。这篇笔记就是给这类需求准备的:手把手走一遍 VS2019 安装、Fortran 编译器部署、创建项目并运行完整流程,顺带把「安装后找不到 Fortran 语言」这类翻车现场拆给你看。适合刚接触 Fortran 的学生,也适合要接手老代码但不想在环境上耗太久的工程师。

2. VS2019 安装:安装器选择、离线包、工作负载和「找不到 Fortran」的真相

2.1 先装 VS2019 还是先装 Fortran:顺序和版本匹配

常见做法是先装 Visual Studio 2019,再装 Fortran 编译器。这个顺序不是随意的:当前主流的 Intel Fortran 编译器(Intel oneAPI 里的 HPC 工具包,以及旧版的 Intel Visual Fortran Compiler)在安装时会去识别系统里已有的 Visual Studio 实例,把自己注册成 VS 的一个语言插件。如果你反着来,先装 Fortran 再装 VS,多数情况下也能用,但偶尔会出现编译器安装程序找不到 VS 实例、装完 VS 里没有任何 Fortran 菜单的怪问题。

另一个容易忽略的是版本匹配。VS2019 对应的是 Intel Fortran 的某个支持区间,比如 Intel Visual Fortran Compiler 19.x 和 Intel oneAPI 2020 之后的版本都明确支持 VS2019。如果你机器上还留着 VS2017 或 VS2022,安装 Intel Fortran 时它会让我们勾选「集成到哪个 Visual Studio 版本」,这一步别图省事直接下一步,默认可能只勾了最高版本。老代码项目如果是在 VS2019 里维护的,这里务必手动勾上 VS2019,否则装完等于没装。

2.2 工作负载勾选:C++ 桌面开发是隐藏前提

很多人装 VS2019 时装的是「使用 C++ 的桌面开发」之外的工作负载,比如只勾了 Python 或者 .NET,然后装完 Fortran 发现新建项目里什么都没有。这里有一个隐藏前提:Intel Fortran 的 VS 集成组件依赖 Microsoft.VisualStudio.Workload.NativeDesktop 这一套 C++ 桌面开发基础能力,包括 MSVC 编译器、Windows SDK、VC 工具链等。

所以安装 VS2019 时,请务必在「工作负载」页勾选「使用 C++ 的桌面开发」。如果你已经装完 VS2019 但没勾这一项,不用重装,打开 Visual Studio Installer,点「修改」,补上这个工作负载即可。注意修改安装也会花几分钟,而且可能需要重启 VS。

提示:如果只是要跑 Fortran,不需要勾选「通用 Windows 平台开发」「数据存储和处理」等其他工作负载,勾得多只是装得慢,跟你是否能建立 Fortran 项目没有关系。

2.3 VS2019 离线安装包与命令行安装:没网或者网速差怎么办

VS2019 的在线安装程序体积不算小,而且国内网络环境下下载经常断。如果你需要离线安装 VS2019,微软官方提供的是 layout 方式:在一台有网且系统版本相同的机器上先下载完整安装源到本地目录,再把整个目录拷贝到目标机器上离线安装。这个做法的好处是干净、不走第三方破解渠道,缺点是第一次下载要下接近 10GB,需要考虑磁盘空间。

具体命令是在命令行里执行:

vs_enterprise__28b2a3d0.exe --layout D:\vs2019_offline --lang zh-CN --add Microsoft.VisualStudio.Workload.NativeDesktop

说明:

  • --layout D:\vs2019_offline指定存放离线安装文件的目录,建议放在空间充足的盘符,目录至少预留 15GB。
  • --lang zh-CN表示只下载简体中文语言包,可以显著减小下载体积;如果团队里有人用英文界面,可以去掉这个参数或追加en-US。
  • --add Microsoft.VisualStudio.Workload.NativeDesktop是典型的最小安装示例,对应「使用 C++ 的桌面开发」工作负载。如果你还需要其他组件,用多个--add组合。
  • 下载完成后,到目标机器进入D:\vs2019_offline目录,双击其中的vs_enterprise__*.exe即可开始离线安装。注意目标机器要能访问公网做激活验证,否则安装完成后 IDE 可能进入评估模式。

如果你只需要 VS2019 社区版,也支持同样的 layout 方式,把安装器文件名换成vs_community__*.exe即可。社区版免费且不需要产品密钥,用微软账号登录就能正常使用全部功能,没必要去找其他来源。

2.4 从 Intel Visual Fortran 到 oneAPI:编译器选型对比

Fortran 编译器在 Windows 平台上常见的几款选择,我整理过一张对比表,给新手指个方向:

编译器授权方式VS2019 集成适用场景
Intel Fortran Compiler(oneAPI HPC Toolkit)免费商用自动集成老代码兼容性最好,OpenMP/SIMD 支持强,数值计算主流之选
Intel Visual Fortran Compiler(旧版,如 2013/2018)授权支持 VS2019 的部分版本老项目锁定旧编译器,不推荐新项目使用
Simply Fortran个人免费/商业独立 IDE,不依赖 VS不想碰 VS 集成的轻量用户
gfortran(MinGW-w64 或 MSYS2)开源免费需自己配外部工具快速验证语法、写小工具、跨平台移植

多数人选择 VS2019 + Intel Fortran 是因为老代码是基于 IVF 写的,工程文件里带了很多 Intel 专有的编译选项和项目配置,换编译器会带来一堆兼容性问题。而 Intel oneAPI 的 HPC Toolkit 目前免费,安装时选择「Customize」并勾选 Intel Visual Studio Integration 插件,装完直接在 VS2019 的新建项目里会出现 Fortran 模板。这点是「装完找不到 Fortran 语言」的最常见解法:不是没装编译器,而是没勾集成插件。

3. 用 Intel Fortran 在 VS2019 里创建并运行第一个项目

3.1 新建 Fortran Console 项目:注意模板出现的位置

装好 VS2019 和 Intel oneAPI 之后,打开 VS2019,点击「创建新项目」。在项目类型筛选处选择「Fortran」,你会看到若干 Fortran 模板,其中最常见的是「Console Application」。如果这里看不到任何 Fortran 模板,先回到上一章的检查顺序:确认 oneAPI 安装时勾选了 Visual Studio Integration,确认 VS2019 装了 C++ 桌面开发工作负载,确认安装的是和 VS2019 匹配的 Intel Fortran 版本。三步下来基本能解决 90% 的「找不到 Fortran」问题。

新建项目之后,VS 会生成一个后缀为.vfproj或.fproj的文件,以及一个main.f90或Source1.f90的源文件。这里的文件后缀名和 C++ 的.vcxproj明显不同,如果你在解决方案资源管理器里看到的是这类后缀,说明 Fortran 集成是正常的。

3.2 写一个最小 Fortran 程序并配置运行平台

在自动生成的源文件里,把内容替换成下面这个最简单的成功 Hello World 程序:

program main implicit none print *, "Hello Fortran!" end program main

先不用急着写复杂逻辑,这个程序只做一件事:把字符串输出到控制台。它的重点是验证整条链路——编译、链接、运行、输出。确认这点走通了,再接老代码进项目。

写完程序后,注意 VS2019 顶部的解决方案平台下拉框。默认可能是x64或Debug|Win32两种,如果你的机器是 64 位系统且代码不涉及旧版 32 位依赖库,建议直接选x64和Debug。原因是现在许多 Fortran 数值库只提供 64 位版本,32 位模式下会报找不到模块。

3.3 编译运行:看输出窗口与解判三个常见错误信号

按Ctrl + B编译,然后再按Ctrl + F5运行(不带调试,直接运行,窗口不会一闪而过)。正常情况下,控制台窗口会显示Hello Fortran!。此时你已经在 VS2019 里跑通了 Fortran 项目。

如果输出有问题,先看 VS 的「错误列表」窗口,常见有三类:

  1. Fatal Error: Cannot open file 'ifort.exe'——编译器路径配置有问题,通常是因为安装了 Intel Fortran 但 VS 集成失败,需要重新运行 oneAPI 安装程序并勾选集成插件。
  2. Error: Compilation failed但没有任何具体行号——先看「输出」窗口里更详细的编译命令行,里面会带具体错误码。
  3. LNK1104: cannot open file 'libifcoremd.lib'——缺失 Intel 运行时库,一般出现在重装系统后或者环境变量被改动时,重新安装编译器即可。

提示:如果只要你跑通程序而不是做调试,运行用Ctrl + F5而不是F5。F5会启动调试器,Fortran 工程在断点命中前如果运行正常退出,调试器会把窗口直接关掉,你根本来不及看输出。

4. 避坑:VS2019+Fortran 常见问题排查与修复

4.1 现象:安装后新建项目里找不到 Fortran 语言模板

原因分三种:第一种是 Intel Fortran 安装时没有勾选 VS 集成插件;第二种是 VS2019 缺少 C++ 桌面开发工作负载;第三种是 VS 版本和 Fortran 编译器版本跨度太大,比如用新版 Intel Fortran 去配老 VS2017,虽然 VS2019 在较新版本里支持,但集成注册可能失败。

解决:先去「控制面板 -> 程序和功能」里看已安装程序,确认 Intel oneAPI 或者 Intel Visual Fortran 是否在列表里。如果在,运行它的安装程序,选择「Modify」,把Visual Studio Integration相关的功能勾上。再打开 Visual Studio Installer,确认 VS2019 的工作负载里包含「使用 C++ 的桌面开发」。最后重启 VS2019,再新建项目看看模板是否出现。

4.2 现象:Fortran 源文件里中文注释变成乱码,控制台输出中文也是花的

原因:VS2019 默认新建文件是 UTF-8 编码,但旧版 Intel Fortran 编译器按系统 ANSI 代码页读取源文件,中文环境下的 GBK 编码与 UTF-8 互相不认。另一层是控制台输出乱码:Windows 控制台交互窗口默认代码页通常是 GBK(936),如果程序以 UTF-8 输出,会显示为乱码。

解决:两个方向任选。如果是旧代码,把源文件另存为 ANSI 编码(VS 的「文件 -> 另存为 -> 编码保存」),让编译器按 GBK 读取。如果是新写的代码,推荐保持 UTF-8,然后在程序入口加一句控制台代码页设置:

program main implicit none call system("chcp 65001") print *, "中文输出测试" end program main

说明:call system("chcp 65001")的作用是在程序运行时切换控制台代码页到 UTF-8,配合 VS 里 UTF-8 编码的源文件,中文输出才会正常。缺点是它会额外弹一个命令行窗口,介意的话可以改用 Windows API 的方式,但对新手来说这个方法最稳、最容易看懂。

4.3 现象:编译单个文件没问题,链接时报 LNK1104 或 LNK2019

原因:这类错误绝大多数是项目属性里的运行时库配置不一致。比如你编译 Fortran 源码用的是Debug模式,但链接的第三方库是用Release模式编译的,符号就会对不上。还有一种情况是依赖了某个老库,但项目中没添加对应.lib文件的路径。

解决:在 VS2019 里右键项目 -> 属性 -> Fortran -> Libraries,检查附加库目录(Additional Library Directories)是否包含对应库文件路径。再检查链接器 -> Input -> Additional Dependencies 里是否列出了全部需要的.lib名。Debug 和 Release 的配置要分别核对,别改了 Release 忘了 Debug。

4.4 现象:卸载重装之后,VS2019 里始终残留旧的 Fortran 集成

原因:卸载 Intel Fortran 时如果选用默认卸载,部分注册表和 Visual Studio 的组件缓存会残留,导致重新安装后 VS 加载的是旧配置,识别不到新编译器。

解决:先用控制面板正常卸载,然后清理安装目录(一般位于C:\Program Files (x86)\Intel\下残留的oneAPI或Composer文件夹),再清理 VS 安装目录下的Common7\IDE\Extensions里跟 Intel 相关的文件夹(这一步操作完需要重启 VS)。如果还不行,就打开 Visual Studio Installer,对 VS2019 先做「修复」再重新装 Fortran 编译器,通常到这里就能解决。

5. 不靠 IDE:用命令行和 gfortran 快速验证 Fortran 片段

VS 里面跑通项目之后,你其实还有一条更轻的路径:命令行直接编译。尤其是处理散落的.f90文件、做语法验证、或者要自动化批量编译时,打开命令行比新建 VS 工程快得多。

5.1 用 VS2019 开发者命令行调用 Intel Fortran

安装 VS2019 后,开始菜单里会有一个「Visual Studio 2019 -> Developer Command Prompt for VS 2019」的快捷方式。打开后输入:

ifort /c main.f90 ifort main.obj -o main.exe main.exe

说明:/c表示只编译不链接;第二行把刚才编译出来的.obj文件链接成可执行文件;第三行运行。这样跑的好处是绕开了 VS 工程文件,而且ifort的编译参数可以直接写在命令行里,比如加/openmp开启 OpenMP 并行,加/O2做优化。

如果你找不到这个快捷方式,可以直接在命令行里调用vcvars64.bat来初始化环境,然后再调用ifort。这一步是新手最容易卡住的,因为 Intel Fortran 的环境变量依赖 VS 的环境。

5.2 gfortran 做语法验证与交叉检查

如果你手头没有 Intel 编译器授权,或者只是想快速验证一段 Fortran 语法对不对,gfortran 是比 Intel 更轻的选择。用 MinGW-w64 或 MSYS2 装好 gfortran 后:

gfortran -o test.exe main.f90 test.exe

说明:-o test.exe指定输出文件的名字,main.f90是源文件。gfortran 在语法检查上比较严格,而且对代码里的未初始化变量会给出警告,可以用来在提交到 Intel 编译器之前做一轮「粗筛」。两个编译器在标准支持上有细微差别,如果你的代码是老代码,gfortran 编译通过的代码在 Intel 下一般没有大问题,反过来有时候 Intel 能过、gfortran 过不了,这在旧代码移植时比较常见。

5.3 给独立计算程序一个跨平台出口:CMake 与 Fortran

如果你的最终目的是把 Fortran 计算程序交付给其他人使用,而不是只在自己机器上跑,我建议稍微了解一下 CMake + Fortran 的组合。CMake 对 Fortran 的支持已经相当成熟,可以用一套 CMakeLists 同时生成 VS 工程和 Makefile,跨平台不换脚本:

cmake_minimum_required(VERSION 3.16) project(demo LANGUAGES Fortran) add_executable(main main.f90)

把这份CMakeLists.txt放进工程根目录,在命令行执行:

cmake -S . -B build cmake --build build build\main.exe

说明:-S .指定源码目录,-B build指定构建目录,这样不会在源码目录里留下一堆中间文件;cmake --build build负责调用底层编译器完成构建。这套流程对 VS2019 同样有效,CMake 会生成对应的.sln解决方案,之后仍可以在 VS 里打开调试。

我自己的习惯是:小东西用命令行 gfortran 直接编译验证,正式项目用 VS + Intel Fortran 调试,交付或者跨平台时再套一层 CMake。这个流程走了几年,最深的体会是「先把最小路径跑通,再谈优化」——很多新手花半天配置环境,但连一个 Hello World 都没跑过,后面的坑全都叠加在一起,根本没法定位。希望这篇能帮你少走一段弯路。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询