Câu hỏi `Arm-no-eabi-gcc` có nên dùng` stdio.h` không?


Tôi đang cố gắng để xây dựng một ví dụ đơn giản từ SDK cho TI CC3200 (Cortex M4), nhưng khi tôi cố gắng biên dịch nó phàn nàn về 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

Nhìn vào các thư mục bao gồm, nó có vẻ là đúng, không có tập tin 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

Nhưng, nên có? Hoặc là một cái gì đó nên được cung cấp bởi SDK cho các thiết bị cụ thể?


2
2017-07-26 03:10


gốc


Tôi sẽ nói có. stdio.h là thư viện chuẩn C. Đó là một chút khó khăn để biên dịch một chương trình mà không có nó. Tôi đoán nó có chức năng tương tự cho TI CC3200. - saiarcot895


Các câu trả lời:


Vâng, đó là dễ dàng. Tôi chỉ cần cài đặt libnewlib-arm-none-eabi và bây giờ mọi thứ hoạt động. Tôi đoán rằng gói về cơ bản là 'libc' cho trình biên dịch này.


2
2017-07-26 17:24



Cảm ơn bạn đã tìm ra điều này và đưa ra câu trả lời này. gcc thật là ... - alexsh