1
我写了下面的Makefile:无法调试生成文件。 Makefile:9:***缺少分隔符。停止
CC='/buildtools/toolchain/wr-x86/3.0FCScg/bin/i586-wrs-linux-gnu-gcc --sysroot=/buildtools/toolchain/wr-x86/3.0FCScg/sysroot'
IDIR =../../../include
CFLAGS=-I$(IDIR)
LDIR =../../../../../../../../.debug/lib.out/public/
LIBS= -lmylib1 -lmylib2 -lmylib3
myexec: my_code.c
$(CC) $(CFLAGS) -o myexec my_code.c
它抛出错误:
Makefile:9: *** missing separator. Stop
我看了相关的问题here。它说选项卡可能有问题。我仔细检查了代码。我正在使用一个选项卡,而不是空格。然而,当我运行
cat -e -t -v Makefile
我得到以下,暗示有$CC
之前没有标签。
CC='/buildtools/toolchain/wr-x86/3.0FCScg/bin/i586-wrs-linux-gnu-gcc --sysroot=/buildtools/toolchain/wr-x86/3.0FCScg/sysroot'$
IDIR =../../../include$
CFLAGS=-I$(IDIR)$
$
LDIR =../../../../../../../../.debug/lib.out/public/$
LIBS= -lmylib1 -lmylib2 -lmylib3$
$
myexec: my_code.c$
$(CC) $(CFLAGS) -o myexec my_code.c$
我也检查了我的.vimrc文件。我有set tabstop=4
。我试图消除这一点,但它使情况变得更糟。它开始给我的错误:Makefile:9: *** missing separator (did you mean TAB instead of 8 spaces?). Stop.
这是它的外观:
syntax on
colorscheme desert
set nocompatible
set number
set backspace=indent,eol,start
set autoindent
set ruler
set spell
set title
set et
set mouse=v
set history=100
set tabstop=4
'et'选项是罪魁祸首。它是'expandtab'的简称 - 正是你不想要的。从你的'.vimrc'中移除。然后,重新输入makefile中的'$(CC)'行 –
@CraigEstey:这对提交者有意义,因为他们愿意改变他们的vim配置。对于很多用户来说,大多数时候vim配置都是所需的默认行为,但偶尔会出现一些奇怪的文件。 – jxh
添加'filetype plugin indent on'行使Vim加载文件类型特定的设置,从而用合理的设置覆盖您自己的通用设置。 – romainl