在Mini2440提供的交叉编译工具arm-linux-gcc-4.3.2.tgz,在编译在ARM平台上的应用程序时,为什么自己在编译时不需要指定-I 和-L 参数,然而在编译的时候能够通过,如包含#include<sys/types.h> #include<time.h>等头文件。我通过arm-linux-gcc -v -o xxx xxx.c看到了
如下信息
#include "..." search starts here:
#include <...> search starts here:
/usr/usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/include
/usr/usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/include-fixed
/usr/usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/../../../../arm-none-linux-gnueabi/include
/usr/usr/local/arm/4.3.2/bin/../arm-none-linux-gnueabi/libc/usr/include
现在问题是,我在终端上输入env为什么没有看到相关的变量定义如LIBRARY_PATH等,这个是怎么回事?是在制作交叉编译工具配置configure中指定的吗?但是我通过 arm-linux-gcc -v查看交叉编译工具信息又不曾发现
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
望楼主解答一下疑惑,十分感谢。那么我是否能够取内核中相关的include和lib下的arm平台下来替代呢??