Makefile 编译器错误gcc-8:错误:无法识别的命令行选项'-没有馅饼';

Makefile 编译器错误gcc-8:错误:无法识别的命令行选项'-没有馅饼';,makefile,compiler-errors,Makefile,Compiler Errors,我试图使用这个makefile进行编译,但出现了这个错误。我可以使用学校的linux计算机和GCC6.3进行编译。我试着使用MacOS mojave,使用了一些不同于自制的gcc版本(gcc-8、gcc-4.9、gcc-6),但我始终遇到这个错误 CC = gcc-8 OPT = -O3 -g LIBS = -lz -lcvp -lz FLAGS = -std=c++11 -L. $(LIBS) $(OPT) -no-pie OBJ = myprogram.o DEPS = cvp.h my

我试图使用这个makefile进行编译,但出现了这个错误。我可以使用学校的linux计算机和GCC6.3进行编译。我试着使用MacOS mojave,使用了一些不同于自制的gcc版本(gcc-8、gcc-4.9、gcc-6),但我始终遇到这个错误

CC = gcc-8
OPT = -O3 -g
LIBS = -lz -lcvp -lz
FLAGS = -std=c++11 -L. $(LIBS) $(OPT) -no-pie


OBJ = myprogram.o
DEPS = cvp.h myprogram.h


all: cvp

cvp: $(OBJ)
    $(CC) $(FLAGS) -o $@ $^

%.o: %.cc $(DEPS)
    $(CC) $(FLAGS) -c -o $@ $<

.PHONY: clean

clean:
    rm -f *.o cvp
CC=gcc-8
OPT=-O3-g
LIBS=-lz-lcvp-lz
FLAGS=-std=c++11-L.$(LIBS)$(OPT)-无饼图
OBJ=myprogram.o
DEPS=cvp.h myprogram.h
全部:cvp
cvp:$(OBJ)
$(CC)$(标志)-o$@$^
%.o:%.cc$(DEPS)
$(CC)$(标志)-c-o$@$<
.假冒:干净
清洁:
rm-f*.o cvp

在此处可以找到离开信息:

问题很可能与gcc的构建方式有关:“编译时没有设置--enable default pie标志的gcc构建,因为它们太旧了,或者有--disable default pie标志,只是没有-no pie linker标志。”

如果对您很重要,您可能需要更新或重新编译该环境的gcc,以便能够使用该标志