Я пытаюсь скомпилировать проект C++ вручную (я новичок)
У меня есть MakeFile.am, который содержит:
ifneq ($(WANT_JANSSON),)
JANSSON_INCLUDES= -I$(top_srcdir)/compat/jansson
else
JANSSON_INCLUDES=
endif
EXTRA_DIST = example-cfg.json nomacro.pl
SUBDIRS = compat
INCLUDES = $(PTHREAD_FLAGS) -fno-strict-aliasing $(JANSSON_INCLUDES)
bin_PROGRAMS = minerd
dist_man_MANS = minerd.1
minerd_SOURCES = elist.h miner.h compat.h \
cpu-miner.c util.c \
sha2.c scrypt.c
ifneq ($(ARCH_x86),)
minerd_SOURCES += sha2-x86.S scrypt-x86.S
endif
ifneq ($(ARCH_x86_64),)
minerd_SOURCES += sha2-x64.S scrypt-x64.S
endif
ifneq ($(ARCH_ARM),)
minerd_SOURCES += sha2-arm.S scrypt-arm.S
endif
minerd_LDFLAGS = $(PTHREAD_FLAGS)
minerd_LDADD = @LIBCURL@ @JANSSON_LIBS@ @PTHREAD_LIBS@ @WS2_LIBS@
minerd_CPPFLAGS = @LIBCURL_CPPFLAGS@
Я открыл командную строку Windows и напечатал:
mingw32-make -f Makefile.am
Выход:
mingw32-make: *** No targets. Stop.
Я не знаю, почему эта ошибка появляется.
Вы смущены доступными инструментами.
Makefile.am
не является make файлом. Это файл автомата. Automake - это инструмент, который будет содержать описание файла makefile (файл Makefile.am
) и набор параметров конфигурации (как правило, но не обязательно, сгенерированный автозагрузкой autoconf
), и создание файла makefile с именем Makefile
.
Затем вы можете запустить make
с этим Makefile
, чтобы создать свою систему.
Эти инструменты (autoconf и automake) очень важны для портативного программного обеспечения, потому что многие UNIX-подобные системы имеют небольшие отличия. Эти инструменты помогут вам отвлечь все эти различия и даже поддержать новые системы, которые вы никогда раньше не использовали.
В Windows это не так важно, так как большинство систем Windows очень похожи и совместимы с обратной связью. Поэтому я сомневаюсь, что большинство людей, которые ориентируются на среды только для Windows, беспокоятся об автоконфигурации и automake.