Makefile: отсутствует разделитель. Остановить [дублировать]

Хорошая цель с самого начала - основанная на характере вашего сайта, я нашел много ресурсов по этому поводу в Googling - вы, конечно, не первый в этом разбираетесь.

Предполагается, что у мистического PHP6 все это выпрямилось, правда?

Вы можете в значительной степени установить utf-8 в качестве глобальной кодировки по умолчанию для mysql на уровне сервера, и она по умолчанию будет правильно соответствовать более гранулированных уровней.

245
задан Greg 5 June 2013 в 06:20
поделиться

7 ответов

makefile имеет очень тупое отношение к вкладкам, все действия каждого правила идентифицируются с помощью вкладок ...... и No 4 пробелов не делают вкладку, только вкладка делает вкладку ...

, чтобы проверить, что я использую команду cat -e -t -v makefile_name

, она показывает, что наличие вкладок с символами ^ I и окончания строк с помощью $ оба являются жизненно важными, чтобы гарантировать, что зависимости заканчиваются должным образом, а вкладки отмечают действие для правил, поэтому что они легко идентифицируются с помощью утилиты make .....

example:

Kaizen ~/so_test $ cat -e -t -v  mk.t
all:ll$      ## here the $ is end of line ...                   
$
ll:ll.c   $
^Igcc  -c  -Wall -Werror -02 c.c ll.c  -o  ll  $@  $<$ 
## the ^I above means a tab was there before the action part, so this line is ok .
 $
clean :$
   \rm -fr ll$
## see here there is no ^I which means , tab is not present .... 
## in this case you need to open the file again and edit/ensure a tab 
## starts the action part

надеюсь, что это поможет !!

518
ответ дан xaxxon 26 August 2018 в 10:06
поделиться

В коде VS просто нажмите «Пробел: 4» в правом углу и измените его на вкладку при редактировании Makefile.

15
ответ дан alanwsx 26 August 2018 в 10:06
поделиться

Если кто-то из вас использует продукт Intellij, решение для этого следующее:

  1. Перейдите в раздел «Настройки»> «Редактор»> «Стиль кода»
  2. здесь для выбора типа файла, связанного с вашей проблемой. Но, скорее всего, вам нужно выбрать Other File Types.
  3. В открывшейся вкладке отметьте флажок для Use tab character и будьте осторожны, значения Tab size и Indent должны быть 4.
0
ответ дан Bogdan Alexandru Militaru 26 August 2018 в 10:06
поделиться

Вы всегда должны писать команду после «вкладки», а не пробела.

Это относится к строке «gcc» (строка № 4) в вашем случае. Вам нужно вставить вкладку перед gcc.

Также замените\rm -fr ll на "rm -fr ll". Вставьте вкладки еще перед этой командой

17
ответ дан Denny Mathew 26 August 2018 в 10:06
поделиться

Это потому, что табуляция заменяется пробелами. Чтобы отключить эту функцию, перейдите к

gedit-> edit-> preferens-> editor

и удалите проверку на

«замените закладку пробелом»

0
ответ дан Mansuro 26 August 2018 в 10:06
поделиться

Его довольно старый вопрос, но все же я хотел бы сказать еще об одном варианте с помощью редактора vi/vim для визуализации вкладок. Если у вас установлен vi/vim, откройте Makefile (например, vim Makefile) и введите :set list. Это покажет количество вкладок, вставленных, как показано ниже,

 %-linux: force$
^I@if [ "$(GCC_VERSION)" = "2.96" ] ; then \$
^I^Iecho ===== Generating build tree for legacy $@ architecture =====; \$
^I^I$(CONFIGURE) $(CWD) $@ legacy; \$
^Ielse \$
^I^Iecho ===== Generating build tree for $@ architecture =====; \$
^I^I$(CONFIGURE) $(CWD) $@; \$
^Ifi$
^Icd build-$@;make$
2
ответ дан Panch 26 August 2018 в 10:06
поделиться

Ключевым моментом было «HARD TAB» 1. Убедитесь, что вы использовали TAB вместо пробела. 2. Проверьте свой .vimrc на «set tabstop = X»

3
ответ дан wlsherica 26 August 2018 в 10:06
поделиться
Другие вопросы по тегам:

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