原文:https://blog.csdn.net/chosen0ne/article/details/7210946
参考:
GCC
https://blog.csdn.net/qq_22054285/article/details/86674737
https://blog.csdn.net/u012247418/article/details/79776297
ARM-linux-GCC
http://blog.sina.com.cn/s/blog_14f1cd81a0102x8ae.html
一、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小写)
原文地址:https://www.cnblogs.com/lh03061238/p/12382818.html