01-如何查看gcc编译器编译时的头文件搜索路径
扩展阅读:gcc的链接器的相关知识要点,这里面我写了如何查看链接器的默认搜索目录。
这里说下如何查看gcc编译器编译时的头文件搜索路径,用下面的命令:
echo | arm-buildroot-linux-gnueabihf-gcc -E -v -
输出结果中有下面的内容:
#include "..." search starts here:
#include <...> search starts here:
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/7.5.0/include
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/7.5.0/include-fixed
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/../lib/gcc/arm-buildroot-linux-gnueabihf/7.5.0/../../../../arm-buildroot-linux-gnueabihf/include
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/arm-buildroot-linux-gnueabihf/sysroot/usr/include
End of search list.
这里边就列举了#include <...>
的搜索路径。
值得注意的是:在上面的路径中,… 表示父目录。工具链在运行时会解析这些相对路径并转换为实际的绝对路径。
例如:
/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/../lib
在下面的目录结构下:
会转化为: