Sollte „arm-none-eabi-gcc“ ein „stdio.h“ enthalten?

Sollte „arm-none-eabi-gcc“ ein „stdio.h“ enthalten?

Ich versuche, aus dem SDK ein einfaches Beispiel für den TI CC3200 (Cortex M4) zu erstellen, aber beim Kompilieren beschwert es sich über stdio.h.

make
  CC    ../main.c
../main.c:45:19: fatal error: stdio.h: No such file or directory
 #include <stdio.h>
                   ^
compilation terminated.
make: *** [obj/main.o] Error 1

Ein Blick in die Include-Verzeichnisse zeigt, dass die Datei stdio.h anscheinend nicht vorhanden ist.

#arm-none-eabi-gcc -print-search-dirs
install: /usr/lib/gcc/arm-none-eabi/4.8.2/
programs: =/usr/lib/gcc/arm-none-eabi/4.8.2/:/usr/lib/gcc/arm-none-eabi/4.8.2/:/usr/lib/gcc/arm-none-eabi/:/usr/lib/gcc/arm-none-eabi/4.8.2/:/usr/lib/gcc/arm-none-eabi/:/usr/lib/gcc/arm-none-eabi/4.8.2/../../../arm-none-eabi/bin/arm-none-eabi/4.8.2/:/usr/lib/gcc/arm-none-eabi/4.8.2/../../../arm-none-eabi/bin/
libraries: =/usr/lib/gcc/arm-none-eabi/4.8.2/:/usr/lib/gcc/arm-none-eabi/4.8.2/../../../arm-none-eabi/lib/arm-none-eabi/4.8.2/:/usr/lib/gcc/arm-none-eabi/4.8.2/../../../arm-none-eabi/lib/

# ls /usr/lib/gcc/arm-none-eabi/4.8.2/include-fixed 
limits.h  README  syslimits.h

# ls /usr/lib/gcc/arm-none-eabi/4.8.2/include/
arm_neon.h  float.h  iso646.h  mmintrin.h  stdalign.h  stdarg.h  stdbool.h  stddef.h  stdfix.h  stdint-gcc.h  stdint.h  stdnoreturn.h  tgmath.h  unwind-arm-common.h  unwind.h  varargs.h

Aber sollte das so sein? Oder ist das etwas, das vom SDK für das jeweilige Gerät bereitgestellt werden sollte?

Antwort1

Nun, das war einfach. Ich musste es nur installieren libnewlib-arm-none-eabiund jetzt funktioniert alles. Ich denke, dieses Paket ist im Grunde „libc“ für diesen Compiler.

verwandte Informationen