编译器错误gcc-8:错误:无法识别的命令行选项'-no-pie'

时间:2019-02-04 20:55:53

标签: makefile compiler-errors

我正在尝试使用此Makefile进行编译,但出现此错误。我可以使用学校的Linux计算机和gcc 6.3进行编译。我尝试使用来自自制软件的gcc的几个不同版本使用MacOS mojave(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

1 个答案:

答案 0 :(得分:1)

要了解的信息:https://github.com/xd009642/tarpaulin/issues/7#issuecomment-317180523

问题很可能与gcc的构建方式有关:“在编译时未设置--enable-default-pie标志的gcc构建,因为它们太旧或具有--disable- default-pie标志只是没有-no-pie链接器标志“

您可能需要为该环境更新或重新编译gcc才能使用该标志(如果对您而言很重要)。