文章目录
- 1. 背景
- 2. gcc 空编译查看
- 3. 总结
1. 背景
linux下查看编译时依赖的头文件,可以直接使用
-Iinclude_path
进行指定,没有指定的会从默认头文件位置去查找,如果还找不到,就会报错。那么,默认头文件位置怎么看呢?
2. gcc 空编译查看
先来看一下gcc的几个编译选项:
-v:在编译过程中输出详细的信息,包括编译器版本、操作系统、编译选项等。
-E:指定执行的操作是预处理(Preprocess),即执行宏扩展、条件编译和包含文件等等操作,但不进行编译、汇编或链接操作。
-x: 是 GCC(GNU 编译器套件)的一个可选项,用于指定要处理的输入文件类型,可以是 C、C++、Objective-C 等等。
根据上述的选项描述,比如我们指定 c 语言, 那么就是 gcc -xc
/dev/null
:在 Linux 中,/dev/null
是一个特殊的设备,可以用于丢弃输出。我们可以使用它告诉 GCC 对一个空的 C 语言代码文件进行预处理。
综上所述: 我们可以使用如下组合指令 gcc -v -E -xc /dev/null
就可以看到了:
上图中蓝色框框部分就是gcc编译使用的默认头文件位置了。
3. 总结
在进行开源库编译的时候,有时候使用的头文件并不在当前目录下,而是查找默认头文件位置。如果默认位置查找不到,会编译报错。这时候,就要确认,对应头文件的指令有没有进行安装,一般安装完之后,都会在 /usr/include
或者 /usr/local/include
中添加对应的头文件。