提问者:小点点

C++makfile错误:MakeFile:5:***缺少分隔符。停止


我正在尝试在Linux中运行我的C++(用clion编写)程序。当我尝试使用“make”命令在终端中编译它时,我得到了这样的错误:“makefile:5:***缺少分隔符。stop.”我已经检查了在我的makefile中有制表符而不是4个空格。有人有主意吗?谢啦!

这是我的makefile:

CFLAGS := -c -Wall -Weffc++ -g -std=c++11 -Iinclude
LDFLAGS := -lboost_system

all: StompBookClubClient
    g++ -pthread -o bin/StompBookClubClient bin/ConnectionHandler.o  bin/Book.o bin/keyboardInputSend.o bin/socketReader.o bin/User.o $(LDFLAGS)

StompBookClubClient: bin/StompBookClubClient bin/ConnectionHandler.o  bin/Book.o bin/keyboardInputSend.o bin/socketReader.o bin/User.o

bin/Book.o: src/Stomp/Book.cpp
    g++ -pthread $(CFLAGS) -o bin/Book.o src/Book.cpp

bin/ConnectionHandler.o: src/Stomp/ConnectionHandler.cpp
    g++ -pthread $(CFLAGS) -o bin/ConnectionHandler.o src/ConnectionHandler.cpp

bin/keyboardInputSend.o: src/Stomp/keyboardInputSend.cpp
    g++ -pthread $(CFLAGS) -o bin/keyboardInputSend.o src/keyboardInputSend.cpp

bin/socketReader.o: src/Stomp/socketReader.cpp
    g++ -pthread $(CFLAGS) -o bin/socketReader.o src/socketReader.cpp

bin/StompBookClubClient.o: src/Stomp/StompBookClubClient.cpp
    g++ -pthread $(CFLAGS) -o bin/StompBookClubClient.o src/StompBookClubClient.cpp

bin/User.o: src/Stomp/User.cpp
    g++ -pthread $(CFLAGS) -o bin/User.o src/User.cpp

.PHONY: clean
clean:
    rm -f bin/*

共2个答案

匿名用户

我已经检查了在我的makefile中有制表符而不是4个空格。

再仔细检查一下。贴在这里的Makefile在第5行有4个空格,它产生的错误与您看到的完全一致。如果我用一个选项卡替换它们,下一个错误将发生在第10行,依此类推。

匿名用户

这不是一个答案,但我没有足够的意见,因此作答。

除了“tab”问题外,如果在规则名称后面缺少“:”(冒号),也会出现类似的错误。

Ex生成文件:

helloworld.o
    g++ helloworld.cc -o helloworld.o;

错误:

Makefile:1: *** missing separator.  Stop.

解决方案:helloworld.o后面的冒号如下所示

helloworld.o:
    g++ helloworld.cc -o helloworld.o;

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(c++makfile|makefile|缺少|分隔符|停止)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?