错误描述
makefile:3: *** 遗漏分隔符 遗漏分隔符 %s。 停止。
错误代码
all:server client
server:server.o
g++ -g -o server server.o
client:client.o
g++ -g -o client client.o
server.o:server.cpp
g++ -c server.cpp
client.o:client.cpp
g++ -c client.cpp
clean:all
rm *.o
我使用编辑器是sublime text3,执行make命令时报错了。百度了一下,都在说报错那一行不能有空格,必须是制表位。可是我明明已经用tab键变成了制表位,还是报错。
错误原因
百度说的没错,这是根本原因。但是还有一些表面原因没有说。
因为在sublime里默认的Tab键并不是制表位,只是代表4个空格。所以即使按了Tab键也不代表真正的制表位。
解决办法
打开sublimetext,找到view,indentation。有一个“Indent Using Spaces”默认是打勾的,把勾去掉。然后原来有tab空格的地方删除,使用tab键重新替换,就好了。