Como se indica en el manual en línea , la causa más común de ese error es que las líneas están sangradas con espacios cuando se makeesperan caracteres de tabulación.
Para mí, el problema era que tenía algunos # ...comentarios de fin de línea integrados en una define ... endefdefinición de variable de varias líneas. Eliminar los comentarios hizo que el problema desapareciera.
Gracias. No sabía que los comentarios en la definedirectiva son tratados literalmente. En realidad, el comportamiento no se explica en la documentación . (Para mayor claridad: Incorporación de un signo de número #. Dentro de la Directiva no es en sí un error de sintaxis Pero simplemente no se interpreta como un inicio de un comentario, para hacer eso es ciertamente propenso a errores.)
ynn
3
Mi error fue en una línea de declaración variable con una extensión de varias líneas. Tengo un espacio final después de "\" que hizo que la continuación de una línea no válida.
MY_VAR = \
val1 \ <-- 0x20 there caused the error.
val2
En mi caso, se produjo el mismo error porque :faltaban dos puntos al final como en staging.deploy:. Tenga en cuenta que puede ser un error de sintaxis fácil.
Me faltaba el archivo separador en Makefiles generado por qmake. Estaba portando el código Qt a una plataforma diferente. No tenía QMAKESPEC ni MAKE set. Aquí está el enlace encontré la respuesta:
Aparentemente, todo lo que necesitaba era el paquete "build-essential", luego ejecutar autoconfprimero, lo que hizo que Makefile.pre.in, ./configureluego el makeque funciona perfectamente ...
Respuestas:
Como se indica en el manual en línea , la causa más común de ese error es que las líneas están sangradas con espacios cuando se
make
esperan caracteres de tabulación.Correcto
donde
\t
está TAB (U + 0009)Incorrecto
donde cada uno
.
representa un ESPACIO (U + 0020).fuente
Solo por sonrisas, y en caso de que alguien más se encuentre con un error similar:
Obtuve el infame error "separador faltante" porque invoqué una regla que define una función como
más bien que
es decir, en
($
lugar de$(
.fuente
0x20
"espacio" allí, ¿es correcto?$
Este es un error de sintaxis en su Makefile. Es bastante difícil ser más específico que eso, sin ver el archivo en sí, o partes relevantes del mismo.
fuente
Para mí, el problema era que tenía algunos
# ...
comentarios de fin de línea integrados en unadefine ... endef
definición de variable de varias líneas. Eliminar los comentarios hizo que el problema desapareciera.fuente
define
directiva son tratados literalmente. En realidad, el comportamiento no se explica en la documentación . (Para mayor claridad: Incorporación de un signo de número#
. Dentro de la Directiva no es en sí un error de sintaxis Pero simplemente no se interpreta como un inicio de un comentario, para hacer eso es ciertamente propenso a errores.)Mi error fue en una línea de declaración variable con una extensión de varias líneas. Tengo un espacio final después de "\" que hizo que la continuación de una línea no válida.
fuente
En mi caso, el error causado a continuación. Intenté ejecutar comandos globalmente, es decir, fuera de cualquier objetivo.
UPD Para ejecutar el comando globalmente, uno debe estar formado correctamente. Por ejemplo comando
se convertiría:
fuente
En mi caso, se produjo el mismo error porque
:
faltaban dos puntos al final como enstaging.deploy:
. Tenga en cuenta que puede ser un error de sintaxis fácil.fuente
En mi caso, en realidad me faltaba una pestaña en el medio
ifeq
y el comando en la siguiente línea. No había espacios para empezar.Debería haber sido:
Tenga en cuenta que
<tab>
es un carácter de tabulación realfuente
En mi caso, este error fue causado por la falta de un mero espacio. Tuve esto si bloque en mi archivo MAKE:
que debería haber sido:
con un espacio después de si.
fuente
Me faltaba el archivo separador en Makefiles generado por qmake. Estaba portando el código Qt a una plataforma diferente. No tenía QMAKESPEC ni MAKE set. Aquí está el enlace encontré la respuesta:
https://forum.qt.io/topic/3783/missing-separator-error-in-makefile/5
fuente
Aparentemente, todo lo que necesitaba era el paquete "build-essential", luego ejecutar
autoconf
primero, lo que hizo queMakefile.pre.in
,./configure
luego elmake
que funciona perfectamente ...fuente
El siguiente código Makefile funcionó:
fuente