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