gcc 头文件 search option

来源:互联网 发布:网络视听证共享 编辑:程序博客网 时间:2024/06/11 13:37

头文件搜索路径相关:

基本的搜索顺序:

1. -I dir

2. gcc 环境变量:C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH

3. gcc 系统标准路径(standard system include directories)

/usr/include  

/usr/local/include

/usr/lib/gcc-lib/i386-linux/2.95.2/include

/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g++-3

/usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include

库文件但是如果装gcc的时候,是有给定的prefix的话,那么就是

/usr/include  

prefix/include

prefix/xxx-xxx-xxx-gnulibc/include

prefix/lib/gcc-lib/xxxx-xxx-xxx-gnulibc/2.8.1/include

4. 还有一些特殊的选项,会参与到这里边:

a.  -idirafter dir  这个选项 dir 会在gcc 系统标准路径后被search.

b. -iprefix prefix  与 -iwithprefix dir 与 -iwithprefixbefore dir 三个选项。

-iprefix prefix 为 -iwithprefix dir 和 -iwithprefixbefore dir 中的 dir 提供前缀,将 prefix 前缀加在 dir 前,一起起作用;-iwithprefix dir 与 -iwithprefixbefore dir 的区别是:

-iwithprefix dir 中的 dir 会放在 gcc 系统标准路径后被search, -iwithprefixbefore dir 中 dir 会放在 -I dir 相同的位置。

c. -isysroot dir 与 --sysroot 同样的效果,将dir当作根目录,但是 -isysroot dir 只对 header files 文件有效。

d. -isystem dir, dir 会被当作系统目录一样,并在-I 指令后, 系统标准目录前被search。


原创粉丝点击