这是我的makefile:
all:ll
ll:ll.c
gcc -c -Wall -Werror -02 c.c ll.c -o ll $@ $<
clean :
\rm -fr ll
Run Code Online (Sandbox Code Playgroud)
当我尝试make clean或make make,我得到这个错误:
:makefile:4: *** missing separator. Stop.
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
可能重复:
发生错误:缺少分隔符
在makefile中有这个代码:
PROG = semsearch
all: $(PROG)
%: %.c
gcc -o $@ $< -lpthread
clean:
rm $(PROG)
Run Code Online (Sandbox Code Playgroud)
和错误
missing separator. stop.
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?
我有即两个.cpp文件decryptor.cpp和prod-ent.cpp.
我已经创建了一个Makefile来编译Linux平台中的两个文件.
all: decryptor.cpp prod-ent.cpp
g++ prod-ent.cpp -o prod-ent -g
g++ decryptor.cpp -o decryptor -g -lcryptopp
clean:
rm prod-ent
rm decryptor
Run Code Online (Sandbox Code Playgroud)
每当我尝试执行Makefile时,它会向我显示以下错误:
Makefile:2:*缺少分隔符.停止.
我是新来创建makefile并且无法弄清楚我的错.请帮我纠正代码.
提前致谢 !!
对于下面复制的以下make文件,我收到了丢失的分隔符错误.tabspace似乎没有任何问题.
OBJS = driver.o snapshot.o
SHOBJS = malloc.o mymemory.o
CC = g++
DEBUG = -g
CFLAGS = -Wall -c $(DEBUG)
LFLAGS = -Wall $(DEBUG)
Snapshot: $(OBJS)
$(CC) $(LFLAGS) $(OBJS) -o Snapshot
driver.o: snapshot.h driver.cpp
$(CC) $(CFLAGS) driver.cpp
snapshot.o: mymemory.h snapshot.h snapshot.cpp
$(CC) $(CFLAGS) snapshot.cpp
libmymemory.so: $(SHOBJS)
gcc -shared -o libmymemory.so malloc.o mymemory.o
malloc.o: malloc.c
gcc -fPIC -g -c -Wall malloc.c
mymemory.o: mymemory.cpp
gcc -fPIC -g -c -Wall mymemory.cpp
clean:
\rm *.o *~ Snapshot
Run Code Online (Sandbox Code Playgroud) 我在安装包时遇到问题dionaea.
我输入后:
./configure --with-lcfg-include=/opt/dionaea/include/ \
--with-lcfg-lib=/opt/dionaea/lib/ \
--with-python=/opt/dionaea/bin/python3.1 \
--with-cython-dir=/usr/bin \
--with-udns-include=/opt/dionaea/include/ \
--with-udns-lib=/opt/dionaea/lib/ \
--with-emu-include=/opt/dionaea/include/ \
--with-emu-lib=/opt/dionaea/lib/ \
--with-gc-include=/usr/include/gc \
--with-ev-include=/opt/dionaea/include \
--with-ev-lib=/opt/dionaea/lib \
--with-nl-include=/opt/dionaea/include \
--with-nl-lib=/opt/dionaea/lib/ \
--with-curl-config=/opt/dionaea/bin/ \
--with-pcap-include=/opt/dionaea/include \
--with-pcap-lib=/opt/dionaea/lib/ \
--with-glib=/opt/dionaea
Run Code Online (Sandbox Code Playgroud)
下一步是:
#make
Run Code Online (Sandbox Code Playgroud)
出现错误消息:
make: *** No targets specified and no makefile found. Stop.
我的目录是 /usr/local/src
我在c上创建一个项目,当我创建我的Makefile并尝试运行它时,它给了我这个错误:
Makefile:1: *** missing separator. Stop.
Run Code Online (Sandbox Code Playgroud)
我的makefile代码是:
CC=gcc
OBJ=./objetos
INC=./include
FON=./aqsFonte
BIB=./bibliotecas
OPBIB=-lBiblioteca
ProjetoFinal: libFinal.a
$(CP) $(FON)/ProjetoFinal.c -I$(INC) -L$(BIB) $(OPBIB) -o ProjetoFinal
Bibliotecas.a: Caminho.o Libs_Defines.o Matrizes.o Proc_Imagens.o Vetores.o
ar -q $(BIB)/libFinal.a Caminho.o ibs_Defines.o Matrizes.o Proc_Imagens.o Vetores.o
Caminho.o:
$(CP) $(FON)/Caminho.c -o Caminho.o
Libs_Defines.o :
$(CP) $(FON)/Libs_Defines.c -o Libs_Defines.o
Matrizes.o:
$(CP) $(FON)/Matrizes.c -o Matrizes.o
Proc_Imagens.o:
$(CP) $(FON)/Proc_Imagens.c -o Proc_Imagens.o
Vetores.o:
$(CP) $(FON)/Vetores.c -o Vetores.o
Run Code Online (Sandbox Code Playgroud)
此外,我猜它都是正确的标签.
我试图了解静态和共享库.
我想要执行以下操作来创建一个makefile,它将单独的编译和链接分开,以便在形成最终的静态可执行文件时创建和链接静态库.
我有Makefile的以下代码,但我收到以下错误
Makefile:13: *** missing separator. Stop.
但我也试图了解如何实际链接/创建库.
如果我line 12在终端中运行命令后它们工作,而不是在makefile中.
myProgram: main.o addSorted.o freeLinks.o
gcc -lm -o myProgram main.o addSorted.o freeLinks.o
main.o: main.c
gcc -O -c -lm main.c main.h
addSorted.o: addSorted.c addSorted.h
gcc -O -c -lm addSorted.c
freeLinks.o: freeLinks.c freeLinks.h
gcc -O -c -lm freeLinks.c
ar rc libmylib.a main.o addSorted.o freeLinks.o //Error Line
ranlib libmylib.a
gcc -o foo -L. -lmylib foo.o
clean:
rm -f myProgram main.o addSorted.o freeLinks.o
Run Code Online (Sandbox Code Playgroud)
此外,如果您可以协助改进代码,我将非常感激.
以下Makefile不起作用,我不确定发生了什么.
CC = gcc
CFLAGS = -Wall -g
demo:
${CC} ${CFLAGS} demo.c -o demo
lib:
${CC} ${CFLAGS} lib.c -o lib
clean:
rm -f lib demo
Run Code Online (Sandbox Code Playgroud)
Demo具有main函数,lib具有一组演示中使用的方法.
我在-cg中添加了-c标志.但是,当我运行make时,我得到:
Makefile:5: *** missing separator. Stop.
Run Code Online (Sandbox Code Playgroud) 可能重复:
发生错误:缺少分隔符
这个愚蠢的错误给我带来了压力......
这是文件 ......
我花了一个小时试图找出它的错误....我是一个VIM用户.有人能指出原因吗?我用tab!
谢谢.
all: hello
hello: hello_world.c
gcc -Wall -o hello.exe hello_world.c
Run Code Online (Sandbox Code Playgroud) 可能重复:
发生错误:缺少分隔符
我已经制作了很多makefile,但是今天我做了一个简单的makefile,它不起作用,因为它缺少一个分隔符.
CC = g++
CFLAGS = -O2 -Wall
LDFLAGS =
MODULOS = externa libreria ann
PARTES = metodos backprop BackApp
EXECUTABLE = atras
.PHONY: clean install uninstall
all: externa libreria ann
$(CC) $(CFLAGS) –c $(PARTES).o –o $(EXECUTABLE)
external: metodos.cpp metodos.h
$(CC) –c $(CFLAGS) metodos.cpp
libreria: backprop.cpp backprop.h
$(CC) $(CFLAGS) –c backprop.cpp
ann:
$(CC) $(CFLAGS) –c BackApp.cpp
clean:
rm –f $(PARTES).o
install:
cp juego /usr/games/juego
uninstall:
sudo rm /usr/games/juego
Run Code Online (Sandbox Code Playgroud)
该错误涉及外部第14行之后的下一行.错误说:
*** missing separator
Run Code Online (Sandbox Code Playgroud)
但我不知道如何解决它.
我正在开发 Solaris 11,已打完补丁。我试图通过在 ISA 下转储预处理器宏来确定编译器是否支持 ISA。
Make 由于Missing Separator. Missing Separator当与 GNU make 的shell 函数一起使用时,我无法找到有关错误的信息。
这是简化的情况。没有空格,因此它不是像“ Make error:缺少分隔符和朋友”中那样的空格/制表符问题。
$ cat -n GNUmakefile-test
1 EGREP ?= egrep
2 SUN_COMPILER := $(shell $(CXX) -V 2>&1 | $(EGREP) -i -c "CC: (Sun|Studio)")
3
4 # Begin SunCC
5 ifeq ($(SUN_COMPILER),1)
6 $(info "Sun compiler")
7 $(shell $(CXX) $(CXXFLAGS) -E -xarch=ssse3 -xdumpmacros /dev/null 2>/dev/null)
8 ifeq ($(.SHELLSTATUS),0)
9 $(info "SSSE3")
10 SSSE3_FLAG = -xarch=ssse3 -D__SSSE3__=1
11 endif
12 …Run Code Online (Sandbox Code Playgroud)