Вопрос Должен ли `arm-none-eabi-gcc` включать` stdio.h`?


Я пытаюсь построить простой пример из SDK для TI CC3200 (Cortex M4), но когда я пытаюсь скомпилировать его, он жалуется на 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

Заглядывая в include dirs, кажется, что это правильно, нет файла stdio.h.

#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

Но, должно быть? Или это то, что должно быть предоставлено SDK для конкретного устройства?


2
2017-07-26 03:10


происхождения


Я бы сказал, да. stdio.h является стандартной библиотекой C. Трудно скомпилировать программу без нее. Я предполагаю, что он имеет ту же функцию для TI CC3200. - saiarcot895


ответы:


Ну, это было легко. Мне просто нужно было установить libnewlib-arm-none-eabi и теперь все работает. Я предполагаю, что этот пакет в основном «libc» для этого компилятора.


2
2017-07-26 17:24



Спасибо, что поняли это и поставили этот ответ. gcc такой болотный ... - alexsh