头文件搜索路径相关:
基本的搜索顺序:
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/includeprefix/includeprefix/xxx-xxx-xxx-gnulibc/includeprefix/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。