arm-linux-gnu-gcc fatal error: stdio.h: No such file or directory

前端 未结 3 1647
没有蜡笔的小新
没有蜡笔的小新 2020-12-18 00:02

These are the files in /usr/bin

[root@xilinx bin]# ls -ld arm*
-rwxr-xr-x. 1 root root  691752 Feb  5  2013 arm-linux-gnu-addr2line
-rwxr-xr-x. 1 root root          


        
3条回答
  •  再見小時候
    2020-12-18 00:55

    The most likely issue here is that the sysroot path wasn't set when this cross compiler was generated. The toolchain developers have their own reasons for doing so. You can confirm by doing

    $ arm-linux-gnu-gcc -print-sysroot
     /not/exist
    

    The toolchain developers expect us to use the standard environment variables such as ${CXX} ${CC} to cross compile. They would usually have a script provided for this purpose that among other things does the following.

    $ export SDKTARGETSYSROOT=/path/to/sysroots/armv7at2hf-neon-fslc-linux-gnueabi
    
    $ export CC="arm-linux-gnu-gcc -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard --sysroot=$SDKTARGETSYSROOT"
    

    So, for compiling your *.c program, in this case, myinit.c, you would do.

    $ ${CC} myinit.c
    

    Or if you like me are old school would do

    $ arm-linux-gnu-gcc -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard --sysroot=$SDKTARGETSYSROOT myinit.c
    

提交回复
热议问题