ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

VS2019 配置 Fortran 开发环境:从安装到第一个项目全流程

2026/10/2 8:04:56 拓冰建站 浏览量
VS2019 配置 Fortran 开发环境:从安装到第一个项目全流程 简介这是一份面向 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 CompileroneAPI HPC Toolkit免费商用自动集成老代码兼容性最好OpenMP/SIMD 支持强数值计算主流之选Intel Visual Fortran Compiler旧版如 2013/2018授权支持 VS2019 的部分版本老项目锁定旧编译器不推荐新项目使用Simply Fortran个人免费/商业独立 IDE不依赖 VS不想碰 VS 集成的轻量用户gfortranMinGW-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 的「错误列表」窗口常见有三类Fatal Error: Cannot open file ifort.exe——编译器路径配置有问题通常是因为安装了 Intel Fortran 但 VS 集成失败需要重新运行 oneAPI 安装程序并勾选集成插件。Error: Compilation failed但没有任何具体行号——先看「输出」窗口里更详细的编译命令行里面会带具体错误码。LNK1104: cannot open file libifcoremd.lib——缺失 Intel 运行时库一般出现在重装系统后或者环境变量被改动时重新安装编译器即可。提示如果只要你跑通程序而不是做调试运行用Ctrl F5而不是F5。F5会启动调试器Fortran 工程在断点命中前如果运行正常退出调试器会把窗口直接关掉你根本来不及看输出。4. 避坑VS2019Fortran 常见问题排查与修复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 控制台交互窗口默认代码页通常是 GBK936如果程序以 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 都没跑过后面的坑全都叠加在一起根本没法定位。希望这篇能帮你少走一段弯路。本文还有配套的精品资源点击获取