sublime如何配置Fortran编译环境_sublime科学计算编程设置【指南】
发布时间 - 2026-01-23 00:00:00 点击率:次Sublime Text 需手动配置 Fortran Build System 调用 gfortran,前提是系统已安装并正确配置 PATH;需创建 JSON 格式 .sublime-build 文件,设置编译命令、错误正则、语法选择器及 Run 变体,并注意路径编码与环境兼容性。
Sublime Text 本身不内置 Fortran 编译支持,必须通过 Build System 手动配置调用外部编译器(如 gfortran),且需确保系统已安装可用的 Fortran 工具链。否则任何配置都无效。
确认 gfortran 是否可用且在 PATH 中
这是最关键的前置条件。Sublime 的构建系统本质是执行 shell 命令,如果终端里都找不到 gfortran,Sublime 肯定调用失败。
- 在终端运行
which gfortran或gfortran --version,确认输出正常 - Windows 用户注意:MinGW-w64 或 MSYS2 安装后,需把
gfortran.exe所在目录(如C:\msys64\mingw64\bin)加入系统PATH -
macOS 用户若用 Homebrew 安装,路径通常是
/opt/homebrew/bin/gfortran(Apple Silicon)或/usr/local/bin/gfortran(Intel),但 Sublime 默认继承 GUI 环境的 PATH,可能不包含它——此时需从终端启动 Sublime:open -a "Sublime Text"或subl .
创建自定义 Fortran Build System(.sublime-build)
Sublime 的构建系统是 JSON 格式文件,存放在 ~/Library/Application Support/Sublime Text/Packages/User/(macOS)、%APPDATA%\Sublime Text\Packages\User\(Windows)或 ~/.config/sublime-text/Packages/User/(Linux)。
新建文件,例如 Fortran-gfortran.sublime-build,内容如下:
{
"cmd": ["gfortran", "-o", "${file_base_name}", "${file}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.fortran, source.f90, source.f95, source.f03, source.f08",
"shell": true,
"variants":
[
{
"name": "Run",
"cmd": ["./${file_base_name}"]
}
]
}
-
"cmd"是编译命令;-o ${file_base_name}输出可执行文件名与源文件同名(不含扩展名) -
"file_regex"让错误行能被点击跳转;Fortran 错误格式通常是file.f90:12:5: error: ...,该正则可匹配 -
"selector"确保该构建系统仅在 Fortran 文件中自动激活(需配合语法高亮插件,如Fortran Syntax) -
"shell": true允许直接写gfortran而非完整路径(依赖 PATH);若想硬编码路径(避免 PATH 问题),把"gfortran"换成"/usr/local/bin/gfortran"或"C:\\msys64\\mingw64\\bin\\gfortran.exe" -
"variants"添加了Run变体,编译后按Ctrl+Shift+B→ 选Fortran-gfortran — Run即可执行
常见报错与对应处理
构建失败时,Sublime 底部会显示错误面板,重点看第一行和路径是否合理。
-
gfortran: command not found→ PATH 未生效,或shell设为false但没写绝对路径 -
undefined reference to `main'→ 源文件没写program ... end program,或用了subroutine/function却没主程序 - 中文路径下编译失败(尤其 Windows)→ Sublime 默认用系统 ANSI 编码读取路径,而
gfortran期望 UTF-8;解决方法:避免中文路径,或改用相对路径构建(如"cmd": ["gfortran", "-o", "a.out", "${file_name}"]) - 修改代码后
Run仍执行旧二进制 → Sublime 不自动清理上一次输出;可在"variants"的Run中加清理步骤:"cmd": ["sh", "-c", "gfortran -o ${file_base_name} ${file} && ./${file_base_name}"]
Fortran 构建系统看似简单,但实际成败几乎全取决于环境变量、路径编码和编译器版本兼容性。不要跳过终端

gfortran --version,也能省掉半小时排查时间。
# linux
# sublime
# js
# json
# windows
# 编码
# app
# 工具
# mac
# ai
# macos
# 环境变量
# Error
# 继承
# undefined
# function
# 选择器
# sublime text
# 这是
# 放在
# 主程序
# 也能
# 设为
# 用了
# 可在
# 扩展名
# 自定义
# 不含
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Bootstrap CSS布局之列表
如何为不同团队 ID 动态生成多个独立按钮
三星网站视频制作教程下载,三星w23网页如何全屏?
如何在Windows虚拟主机上快速搭建网站?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
如何挑选优质建站一级代理提升网站排名?
如何在景安服务器上快速搭建个人网站?
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
简单实现Android文件上传
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
Java垃圾回收器的方法和原理总结
详解Android图表 MPAndroidChart折线图
C#如何调用原生C++ COM对象详解
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
javascript中闭包概念与用法深入理解
Laravel如何处理和验证JSON类型的数据库字段
如何在腾讯云服务器上快速搭建个人网站?
网站建设保证美观性,需要考虑的几点问题!
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
zabbix利用python脚本发送报警邮件的方法
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
Laravel如何生成URL和重定向?(路由助手函数)
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Android滚轮选择时间控件使用详解
如何在阿里云通过域名搭建网站?
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
java中使用zxing批量生成二维码立牌
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
轻松掌握MySQL函数中的last_insert_id()
如何彻底删除建站之星生成的Banner?
如何快速生成高效建站系统源代码?
android nfc常用标签读取总结
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
php结合redis实现高并发下的抢购、秒杀功能的实例
JS中对数组元素进行增删改移的方法总结
制作企业网站建设方案,怎样建设一个公司网站?
Linux系统运维自动化项目教程_Ansible批量管理实战
如何用PHP快速搭建高效网站?分步指南
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
浅谈javascript alert和confirm的美化
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)

