Sublime Text 3编译多文件C程序求助:头文件函数调用问题
解决Sublime Text 3编译多文件C程序的问题
这问题我之前也踩过坑!Sublime Text默认的C编译系统是为单文件项目设计的,它只会编译当前打开的单个文件,不会自动关联同目录下的其他.c文件,这就是你报错的核心原因。下面是具体的解决步骤,跟着做就能搞定:
步骤1:创建自定义多文件编译系统
- 打开Sublime Text 3,点击顶部菜单栏的 Tools -> Build System -> New Build System...
- 把弹出的默认模板内容清空,替换成对应你操作系统的配置代码:
Windows系统版本
{ "cmd": ["gcc", "main.c", "function.c", "-o", "main.exe"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c", "shell": true, "variants": [ { "name": "Run", "cmd": ["start", "cmd", "/k", "main.exe"] } ] }
Linux/macOS系统版本
{ "cmd": ["gcc", "main.c", "function.c", "-o", "main"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c", "shell": true, "variants": [ { "name": "Run", "cmd": ["bash", "-c", "./main; read"] } ] }
步骤2:保存编译系统配置
点击菜单栏的 File -> Save,在弹出的窗口里,将文件命名为 C_Multifile.sublime-build,保存路径保持默认即可(Sublime会自动定位到Packages/User/目录,不用手动修改)。
步骤3:使用自定义编译系统编译程序
- 确保
main.c、function.c、function.h都在同一个文件夹下,并且在Sublime中打开其中任意一个文件 - 点击顶部菜单栏的 Tools -> Build System,选中刚刚创建的
C_Multifile - 按
Ctrl+B(Windows/Linux)或Cmd+B(macOS)执行编译;如果编译成功,再按Ctrl+Shift+B(Windows/Linux)或Cmd+Shift+B(macOS),选择C_Multifile - Run来运行程序
额外注意事项
- 确保你的电脑已经安装了GCC编译器,并且已经添加到系统环境变量(PATH)中,否则Sublime找不到
gcc命令会报错 - 如果后续项目新增了
.c文件,需要修改C_Multifile.sublime-build里的cmd字段,把新的文件名加进去,比如["gcc", "main.c", "function.c", "new_module.c", "-o", "main"]
内容的提问来源于stack exchange,提问作者Ahmed Mostafa
相关产品推荐
相关产品推荐

