Gnuwin32: makefile на windows & ldquo; Синтаксис команды неверен. & Rdquo;

0
задан Leen Almadani 13 July 2018 в 21:47
поделиться

1 ответ

вы должны удалить интервал вокруг косой черты или разбор аргументов, полагая, что существует более одного аргумента (и вы также можете забыть о создании $(OBJDIR), потому что опция -p создает все несуществующие директории для целевого каталога:

Совместимость с Unix / Linux должна быть:

objdir:
    mkdir -p $(OBJDIR)/S4k
    mkdir -p $(OBJDIR)/modules

Обратите внимание, что при использовании команды Windows mkdir параметр -p должен быть удален (версия для Windows делает это по умолчанию и что опция не распознается). Учитывая сообщение, которое вы получаете, вы, вероятно, используете версию Windows, так что это должно быть:

objdir:
    mkdir $(OBJDIR)\S4k
    mkdir $(OBJDIR)\modules

(косые черты not приняты по команде Windows mkdir, поэтому $(OBJDIR) также должен быть построен с обратными косыми чертами).

косые черты используются для командных переключателей в основных командах, таких как mkdir, иначе вам нужно процитировать пути

objdir:
    mkdir "$(OBJDIR)/S4k"
    mkdir "$(OBJDIR)/modules"

(как вы видите, довольно сложно иметь переносимый makefile от Linux до Windows, если вы не запускаете его в оболочке MSYS, где mkdir является MSYS, и имейте в виду, что есть native & amp , Версии MSYS e make тоже, я попал один раз: Как заставить make использовать bash в качестве оболочки в Windows / MSYS2 )

0
ответ дан Jean-François Fabre 17 August 2018 в 12:07
поделиться
  • 1
    – Leen Almadani 13 July 2018 в 21:59
  • 2
    C: \ Users \ lovel \ Anaconda3 \ S4 & gt; make mkdir build mkdir build / S4k Синтаксис команды неверен. make: *** [objdir] Ошибка 1 – Leen Almadani 13 July 2018 в 22:00
  • 3
    – Leen Almadani 13 July 2018 в 22:01
  • 4
    мой плохой, косые черты не будут работать с mkdir (ошибочно для командной строки) – Jean-François Fabre 13 July 2018 в 22:02
Другие вопросы по тегам:

Похожие вопросы: