Я пытаюсь скомпилировать файл, содержащий stdint.h
для ARM (в частности, Cortex-M3) с использованием arm-none-eabi
(который является пакетом Debian). Команда:Clang cross-compilation for ARM
clang -I/usr/lib/gcc/arm-none-eabi/4.8/include \
-target arm-none-eabi cfile.c -o cfile.o
(-mcpu
, -mfpu
, -mfloat-abi
опущены для простоты)
Возвращает ошибку:
In file included from cfile.c:1:
In file included from ./cfile.h:4:
In file included from /usr/lib/gcc/arm-none-eabi/4.8/include/stdint.h:9:
In file included from /usr/lib/llvm-3.5/bin/../lib/clang/3.5.0/include/stdint.h:61:
In file included from /usr/include/stdint.h:25:
/usr/include/features.h:374:12: fatal error: 'sys/cdefs.h' file not found
# include <sys/cdefs.h>
^
1 error generated.
Я обычно следующие this guide.
Мои версии:
$ clang --version
Debian clang version 3.5.0-10 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (4.8.4-1+11-1) 4.8.4 20141219 (release)
Любые идеи о том, как подходить к решению этого?
P.S .: Не дубликат this question.
Какая у вас хост-система (OSX)? вы можете попробовать установить g ++ - multilib – Arseniy
@Arseniy Это Debian x86_64. –
Попробуйте установить 'g ++ - multilib'. Кстати, лучше использовать опцию' --sysroot'. '--sysroot =/usr/lib/gcc/arm-none-eabi/4.8 /' – Arseniy