GnuCOBOL编译报错:找不到/mingw64/share/gnucobol/config\default.conf文件
问题排查与解决方案
1. Makefile缩进错误(最可能原因)
Makefile要求所有命令行必须使用Tab键缩进,而非空格。你提供的Makefile中,编译命令和clean命令行使用了空格缩进,这会导致Make无法识别这些执行指令,进而触发报错。
修正后的Makefile:
# Compiler COBC = cobc # Flags COBFLAGS = -x -o # Program name PROGRAM = CrownXVanguard # Source file SRC = main.cbl # Default target all: $(PROGRAM) # Build the program $(PROGRAM): $(SRC) $(COBC) $(COBFLAGS) $(PROGRAM) $(SRC) # Clean target clean: rm -f $(PROGRAM) # Phony targets .PHONY: all clean
(注:上述代码块中命令行的缩进为Tab键,需确保本地文件保持一致)
2. Windows环境下rm命令兼容问题
若你在Windows系统使用非MSYS2/MinGW的Make工具,rm -f命令无法被系统识别,需替换为Windows原生删除命令:
clean: del /f /q $(PROGRAM)
3. 验证GnuCOBOL可用性
先跳过Makefile,直接在终端执行编译命令,确认cobc本身可正常工作:
cobc -x -o CrownXVanguard main.cbl
如果该命令能生成可执行文件,说明问题确实出在Makefile;若仍报错,进一步检查:
- 打开新终端窗口(避免PATH缓存问题),执行
cobc --version,确认能输出版本信息 - 确认
main.cbl文件存在于当前目录,且文件名拼写无误
内容的提问来源于stack exchange,提问作者Aegis
相关产品推荐
相关产品推荐

