簡體   English   中英

Makefile:6:*** 缺少分隔符。 停止。 錯誤

[英]Makefile:6: *** missing separator. Stop. Error

我有 makefile 代碼

CC = gcc
CFLAGS = -I. -g -pthread -w
DEPS = main.h
OBJ = main.o
%.o: %.c $(DEPS)
  $(CC) -c -o $@ $< $(CFLAGS)

main: $(OBJ)
  $(CC) -o $@ $^ $(CFLAGS)

這是針對多線程的分配; I have one main function in a main.c file and one main function in a randomgen.c file. 我還有一個 main.h 文件和 a.txt 文件,如果其中任何一個重要的話,它可以從中讀取。 我嘗試查找之前要做什么,並閱讀有關空格/制表符的特定內容。 我已經嘗試過似乎每次迭代制表符和/或空格的方法,但我一直遇到同樣的問題。 我對makefile也不是很了解,因為我們的教授從來沒有真正解釋過,只是有點融入到作業中。 謝謝你的幫助

makefile 中的分隔符是 Tab。 因此,您的 makefile 在編寫命令時應包含制表符作為分隔符

CC = gcc
CFLAGS = -I. -g -pthread -w
DEPS = main.h
OBJ = main.o
%.o: %.c $(DEPS)
<TAB>$(CC) -c -o $@ $< $(CFLAGS)

main: $(OBJ)
<TAB>$(CC) -o $@ $^ $(CFLAGS)

如果您不確定您的 makefile 是否包含制表符或空格,請在十六進制編輯器中查看。 如果它包含選項卡,您將看到 09 十六進制代碼。 09 hex 是制表符。

您可以通過以下方式證明:

cat -e -t -v Makefile

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM