Hacer en una Raspberry Pi "no reconocido como un comando interno o externo"
makefile raspberry-pi (3)
Estoy trabajando en un proyecto de Raspberry Pi por el cual tenemos que programar un robot para que funcione solo.
Actualmente estoy usando Geany como el lenguaje de programación Environment and C. Los pasos se obtienen del siguiente tutorial:
Sin embargo, debido a que nunca he hecho esto antes, me encontré con un problema. El sitio web dice que Geany requiere un "archivo MAKE" para ejecutar el programa. Creé un simple main.c y makefile
C Principal
int main(int argc, char **argv)
{
printf("Hello world!");
return 0;
}
makefile
CC=gcc
CFLAGS=-I.
DEPS =
all: main.o
gcc main.o -o target_bin
main.o: main.c
gcc -I . -c main.c
clean:
rm -rf *.o
rm target_bin
De Geany, traté de compilar / compilar / hacer pero sigo recibiendo errores como:
''make'' no se reconoce como un comando interno o externo
Traté de compilar el main.c
través del símbolo del sistema, pero todavía me pide el mismo error:
''gcc'' no se reconoce como un comando interno o externo,
En resumen, no tengo idea de cómo hacer un archivo MAKE. ¿Alguien puede guiarme?
Ejecute sudo apt-get install build-essential
para instalar el compilador y un montón de otras cosas. Ejecutaría sudo apt-get update
primero para asegurar que su sistema esté actualizado.
Para GNU make
docs:
Es mejor escribir un archivo como este:
CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)ld
LDFLAGS =
CFLAGS = -g -Wall
TARGETS = main
#
main:main.o
$(LD) $(LDFLAGS) -o $@ $<
main.o:main.c
$(CC) $(CFLAGS) -o $@ $<
clean:
rm -rf $(TARGETS)
rm -rf *.o
Cuando trabajas con cadenas de herramientas cruzadas, puedes hacer esto:
make CROSS_COMPILE=your toolchains''s prifix
entonces puedes obtener el binario que quieres.
Todos los comandos anteriores están escritos en lo que los usuarios de Linux conocen como terminal (para ustedes, chicos, técnicamente es un símbolo del sistema. Lo que necesitan aprender para comprender las sugerencias es cómo crear una conexión telnet con su dispositivo RPi. así como cómo distinguir los comandos que dependen de Internet, como apt-get. Sudo es un permiso de raíz temporal para que la línea de comando se escriba después de sudo. Sugiero explorar ya sea ubuntus wiki o archs wiki. Acostúmbrate a google y CLI