gcc和arm-linux-gcc默认头文件库搜索路径

原文:https://blog.csdn.net/chosen0ne/article/details/7210946

参考:

GCC

          https://blog.csdn.net/qq_22054285/article/details/86674737

          https://blog.csdn.net/qq_21870763/article/details/51760276?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

          https://blog.csdn.net/u012247418/article/details/79776297

         https://blog.csdn.net/yasi_xi/article/details/10590263?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

         https://blog.csdn.net/shiyongyue/article/details/77866950?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

ARM-linux-GCC

        https://blog.csdn.net/MingLLu/article/details/50161901?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

        http://blog.sina.com.cn/s/blog_14f1cd81a0102x8ae.html

        https://www.cnblogs.com/kelamoyujuzhen/p/9411002.html

        https://bbs.csdn.net/topics/390834462

GCC常见编译错误:https://blog.csdn.net/aquester/article/details/51861439

交叉编译链详解:https://www.cnblogs.com/coolYuan/p/9037660.html

交叉编译链库的添加:https://www.linuxidc.com/Linux/2011-09/42826.htm

交叉编译解决头文件与库文件依赖问题:https://blog.csdn.net/yk150915/article/details/78813374

交叉编译库依赖问题的解决办法 https://blog.csdn.net/openblog/article/details/7449991?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 

 一、GCC

gcc编译时查找头文件,按照以下路径顺序查找:

1. gcc编译时,可以设置-I选项以指定头文件的搜索路径,如果指定多个路径,则按照顺序依次查找。比如,

gcc -I /usr/local/include/node a.c
2. gcc会查找环境变量C_INCLUDE_PATH,CPLUS_INCLUDE_PATH中指定的路径。

3. 系统默认的路径,分别是/usr/include,/usr/local/include,/usr/lib/gcc-lib/i386-linux/2.95.2/include(gcc库文件的路径,各个系统不一致)。

4.<sys/头文件名>。如<sys/io.h>,<net/ethernet.h>等。其中,前面的字符串(如sys,net)表示标准路径下的文件夹名,后面的字符串(如io.h,ethernet.h),表示在linux标准路径下的各文件夹下的头文件名,如sys文件夹下的io.h文件,即我们可以在/usr/include/sys目录下发现io.h文件。

5.如果想在指定路径下检索头文件,可加选项-I。如我的/home/Desktop目录下有个头文件local1.h,在编译包含local1.h的test.c文件时,可用:gcc test.c -o test -I /root/Desktop。

二、arm-linux-gcc

默认搜索路径其实就是编译器的安装路径

我的头文件搜索路径在/zjk/software/arm-linux-gcc4.4.3/opt/FriendlyARM/toolschain/4.4.3/lib/gcc/arm-none-linux-gnueabi/4.4.3/include

库文件在:/zjk/software/arm-linux-gcc4.4.3/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib

注意:头文件不是4.4.3目录下的include,而是lib中......的路径

          库文件不是4.4.3目录下的lib,而是arm-none-linux-gnueabi下的lib

可以在编译的时候添加-l 设置默认搜索路径(L小写)

 参考韦东山相关文档添加freetype开源库

交叉编译:
tar xjf freetype-2.4.10.tar.bz2
./configure --host=arm-linux
make
make DESTDIR=$PWD/tmp install

编译出来的头文件应该放入:
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

编译出来的库文件应该放入:
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

把tmp/usr/local/lib/* 复制到 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib
sudo cp * /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib -d -rf
cp *so* /work/nfs_root/fs_mini_mdev_new/lib -d

把tmp/usr/local/include/* 复制到 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
cp * /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include -rf
cd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值