, поэтому я программирую на C ++ уже почти 2 года, и в то же время я имел удовольствие использовать IDE (VS) с прекрасными настройками проекта, автоматической связью и тому подобным. Я всегда держался подальше от любых внешних библиотек, которые требовали от меня компиляции через make-файлы, или, по крайней мере, тех, которые предназначались для сред linux / других компиляторов.
В любом случае, теперь я хочу использовать супер удобную утилиту ( Bob Jenkins Perfect Minimal Hash) , но для этого требуется, чтобы я компилировал через make-файлы, не только это, но и с помощью компилятора g ++.
Я получил утилиту mingW32-make и теперь пытаюсь заставить ее работать. Где я сейчас нахожусь:
- Успешно установлено minGW
- Успешно вызвал утилиту make
- Не удалось успешно создать проект.
Я получаю ошибку:
C: \ gen_progs \ фот> mingw32-марка
mingw32-make: *** Нет правил для создания
цель lookupa.c', needed by
lookupa.o '. Стоп.
И сам make-файл:
CFLAGS = -O
.cc.o:
gcc $(CFLAGS) -c $<
O = lookupa.o recycle.o perfhex.o perfect.o
const64 : $(O)
gcc -o perfect $(O) -lm
# DEPENDENCIES
lookupa.o : lookupa.c standard.h lookupa.h
recycle.o : recycle.c standard.h recycle.h
perfhex.o : perfhex.c standard.h lookupa.h recycle.h perfect.h
perfect.o : perfect.c standard.h lookupa.h recycle.h perfect.h
Теперь ошибка кажется разумной, по крайней мере, из-за моего минимального понимания make-файлов, у меня есть все упомянутые файлы .c, .h, однако у меня нет ни одного из файлов .o, и, похоже, нет никаких инструкций по как сделать это. Итак, мои вопросы:
я неправильно называю утилиту make? Или мне нужно сначала скомпилировать объектные файлы? Или ... мне нужно что-то добавить в файл make?
Снова у меня есть все упомянутые файлы .c и .h.
Редактировать: Извините за то, что я на самом деле пропустил тот конкретный файл, который, кажется, исчез где-то вдоль линии. Однако, добавив его обратно, я получаю ошибку:
c:\gen_progs\ph>mingw32-make
cc -O -c -o lookupa.o lookupa.c
process_begin: CreateProcess(NULL, cc -O -c -o lookupa.o lookupa.c, ...) failed.
make (e=2): The system cannot find the file specified.
mingw32-make: *** [lookupa.o] Error 2