Este es mi archivo MAKE:
all:ll
ll:ll.c
gcc -c -Wall -Werror -02 c.c ll.c -o ll $@ $<
clean :
\rm -fr ll
Cuando intento make clean
o make make
, aparece este error:
:makefile:4: *** missing separator. Stop.
¿Cómo puedo arreglarlo?
Respuestas:
makefile tiene una relación muy estúpida con las pestañas, todas las acciones de cada regla se identifican por pestañas. Y no, 4 espacios no hacen una pestaña, solo una pestaña hace una pestaña.
para verificar uso el comando
cat -e -t -v makefile_name
Muestra la presencia de pestañas con
^I
y las terminaciones de línea con$
ambas son vitales para garantizar que las dependencias terminen correctamente y las pestañas marcan la acción de las reglas para que sean fácilmente identificables por la utilidad make.Ejemplo:
fuente
makefile
del tutorial, y no funcionó. ¡Solo después de eliminar espacios y poner en suTab
lugar funcionó!-v
La opción decat
comando es redundante aquí porque-e
significa-vE
y-t
significa-vT
.En VS Code, simplemente haga clic en "Espacio: 4" en la esquina inferior derecha y cámbielo a pestaña al editar su Makefile.
fuente
Siempre debe escribir el comando después de un Tabespacio en blanco y no en blanco.
Esto se aplica a la
gcc
línea (línea # 4) en su caso. Necesita insertar la pestaña antesgcc
.También reemplazar
\rm -fr ll
conrm -fr ll
. Inserte pestañas antes de este comando también.fuente
La solución para
PyCharm
sería instalar unMakefile support
complemento:Preferences
(cmd + ,
)Plugins
->Marketplace
Makefile support
, instale y reinicie el IDE.Esto debería solucionar el problema y proporcionar una sintaxis para un archivo MAKE.
fuente
Es una pregunta bastante antigua, pero aún me gustaría decir sobre una opción más usando el
vi/vim
editor para visualizar las pestañas. Si havi/vim
instalado, abra unMakefile
(por ejemplovim Makefile
) e ingrese:set list
. Esto mostrará el número de pestañas insertadas de la siguiente manera,fuente
Utilizando
.editorconfig
para arreglar las pestañas automáticamente:fuente
El punto clave era "PESTAÑA DURA" 1. Verifique si utilizó TAB en lugar de espacios en blanco 2. Verifique su .vimrc para "set tabstop = X"
fuente
Si alguno de ustedes está usando un producto de Intellij, la solución para esto es la siguiente:
Other File Types
.Use tab character
y tenga cuidado,Tab size
y losIndent
valores deben ser 4.fuente
Si está utilizando mcedit para editar archivos MAKE. Tienes que ver la siguiente marca.
fuente
Esto se debe a que la pestaña se reemplaza por espacios. Para deshabilitar esta función, vaya a
gedit-> editar-> preferencias-> editor
y quite el cheque para
" reemplazar pestaña con espacio "
fuente