Windows PowerShell中执行make编译bmp2glcd Makefile报错求助
解决Windows下编译bmp2glcd的Makefile错误
核心问题分析
错误提示找不到指定文件,核心原因是缺少g++编译器——你仅安装了make工具,但Windows原生不包含GNU编译工具链;同时原Makefile的部分命令不兼容Windows环境,需要调整。
具体修复步骤
1. 安装GNU编译工具链
打开管理员权限的PowerShell,通过Chocolatey安装MinGW-w64:
choco install mingw -y
安装完成后重启PowerShell,输入g++ --version验证是否安装成功。
2. 修正Makefile的Windows兼容性问题
替换原Makefile内容为以下版本(注意命令行前必须用Tab键缩进,不能用空格):
# BMP2GLCD - BMP to GLCD image makefile # # Author: Sami Varjo # file creatd : 31.7.2008 # version: 1.0 # # License: GPL which can be found at # http://www.gnu.org/licenses/gpl.txt # # description: makefile for compiling bmp2glcd program with the EasyBMP library. # CC = g++ BILLFLGS = -Wformat=2 CFLAGS = $(BILLFLGS) -O3 -pipe -fomit-frame-pointer -funroll-all-loops -s CINC = -I ./EasyBMP/ bmp2glcd: EasyBMP.o bmp2glcd.o $(CC) $(CFLAGS) EasyBMP.o bmp2glcd.o -o bmp2glcd.exe EasyBMP.o: EasyBMP/EasyBMP.cpp EasyBMP/EasyBMP*.h $(CC) $(CFLAGS) -c EasyBMP/EasyBMP.cpp bmp2glcd.o: bmp2glcd.cpp $(CC) $(CINC) -c bmp2glcd.cpp clean: del /q bmp2glcd.exe del /q *.o del /q *~ #*#
修改点说明:
- 将生成的可执行文件后缀改为
.exe,适配Windows - 用变量
$(CC)替代硬编码的g++,保持一致性 - 用Windows原生的
del命令替代Linux的rm,适配环境
3. 重新执行编译
在Makefile所在目录打开PowerShell,执行:
make
编译完成后会生成bmp2glcd.exe;执行make clean可清理编译产物。
内容的提问来源于stack exchange,提问作者Adil Ahmed
相关产品推荐
相关产品推荐

