ошибка компилятора gcc-8: ошибка: нераспознанная опция командной строки '-no-pie' - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь скомпилировать, используя этот make-файл, но получил эту ошибку.Я могу скомпилировать, используя школьный компьютер Linux с GCC 6.3.Я попытался использовать мохаве MacOS, используя несколько разных версий gcc из homebrew (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 голосов
/ 05 февраля 2019

Сходя с информации, найденной здесь: https://github.com/xd009642/tarpaulin/issues/7#issuecomment-317180523

Проблема вполне может быть связана с тем, как собран gcc: "Сборки gcc, у которых нет --enable-default-флаг pie установлен во время компиляции, поскольку он слишком старый или имеет флаг --disable-default-pie, но у него нет флага компоновщика -no-pie "

. Возможно, вам потребуется обновить или перекомпилировать gcc дляэта среда, чтобы иметь возможность использовать этот флаг, если это важно для вас.

...