Linux下空格导致makefile执行失败原因

4732阅读 0评论2013-01-01 hevake_lcj
分类:

C代码手写了Makefile,Makefile内容如下

点击(此处)折叠或打开

  1. CC = gcc
  2. CFLAGS = -g -Wall

  3. BINARY = main
  4. BASEOBJS = $(patsubst ./%.c, %.o, $(wildcard ./*.c))

  5. .PHONY: all clean

  6. all: $(BINARY)

  7. $(BINARY): $(BASEOBJS)
  8.     $(CC) $(CFLAGS) -o $@ $(BASEOBJS)

  9. clean:
  10.     rm -f $(BASEOBJS) $(BINARY)

  11. %.o: %.c
  12.     $(CC) $(CFLAGS) -o $@ -c $<
每次执行Makefile都失败
Makefile:12: *** missing separator.  Stop.
Makefile执行命令时候,前面必须是TAB,而非空格,我编译的时候确实使用的是TAB
造成失败的原因是因为vim的本地配置将Tab设置为了四个空格

点击(此处)折叠或打开

  1. set tabstop=4
  2. set softtabstop=4
对于已保存的文件可使用如下方法将空格转为Tab

点击(此处)折叠或打开

  1. :set ts=4
  2. :set noexpandtab
  3. :%rettab!
将TAB换为空格为


点击(此处)折叠或打开

  1. 点击(此处)折叠或打开

  2. :set ts=4
  3. :set expandtab
  4. :%rettab!
上一篇:Linux下进程崩溃时定位源代码位置
下一篇:辞旧迎新2013