预处理 include 顺序
#include <>直接到系统指定的某些目录中去找某些头文件。
#include ""先到源文件所在文件夹去找,然后再到系统指定的某些目录中去找某些头文件。
1.参数-I指定的路径
指定路径有多个路径时,按指定路径的顺序搜索
2.gcc的环境变量
C_INCLUDE_PATH
CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH
3.找系统目录
/usr/include
/usr/local/include
/usr/lib/gcc-xxxx/xxxx
作者:悟剑声
链接:https:
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
编译时连接与运行时链接的参考路径
-L
/lib
/usr/lib
/usr/local/lib
编译时链接的话,能查到libname.so
且这个文件要不是个link,要不就是实际的动态库文件,否则会报错
说链接顺序没有意义,因为并不链接到文件里面去
注意:
不包括LD_LIBRARY_PATH与/etc/ld.so.conf.
上面两种配置是运行时链接要参考的路径,并不是编译时链接要参考的路径.
1. 编译目标代码时指定的动态库搜索路径;-Wl,-rpath,
2. 环境变量 LD_LIBRARY_PATH 指定的动态库搜索路径
3. 配置文件 /etc/ld.so.conf 中指定的动态库搜索路径
5. 默认的动态库搜索路径 /lib
6. 默认的动态库搜索路径 /usr/lib
如果是交叉编译器的话,例如可以在/opt/hisi-linux-nptl/arm-hisiv100-linux/arm-hisiv100-linux-uclibcgnueabi/lib这里添加
-L
/lib
/usr/lib
/usr/local/lib
顺序暂不更新