如何查看和修改gcc、g++默认include路径

本文详细介绍了GCC和G++编译器如何查找头文件的路径,包括通过命令行参数、环境变量以及默认搜索路径的方式。并提供了修改默认include路径的三种方法,帮助开发者更好地理解和定制编译环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何查找gcc、g++默认include路径?注意:"`"是Tab上面的那个符号。

#gcc
`gcc -print-prog-name=cc1plus` -v

#g++
`g++ -print-prog-name=cc1plus` -v

 

我们都知道在编译的预处理阶段, 编译器会展开所有的#include<...>和#include"..."文件,那么编译器是按照什么顺序来查找头文件的呢?

  • 首先会根据gcc 、g++ -I 选项,在预处理的时候去当前路径下寻找.h文件。
g++ -c ttcp_blocking.c -I /home/zhaozheng/code/chensuo/code/muduo-master/
  • 然后查找gcc、g++环境变量:
#gcc
export C_INCLUDE_PATH=XXXX:$C_INCLUDE_PATH
#g++
export CPLUS_INCLUDE_PATH=XXX:$CPLUS_INCLUDE_PATH

以上修改可以直接命令行输入(一次性),可以在/etc/profile中完成(对所有用户生效),也可以在用户home目录下的.bashrc或.bash_profile中添加(针对某个用户生效),修改完后重新登录即生效(当然也可以调用source指令,因为重启的意义也是把这个文件刷新一遍,一般修改的是.bashrc)。

  • 之后再找下面的默认目录(没写完,还有别的),是有先后顺序的,当找到了就不会再继续查找了。
#当前用户的include路径,一般自己安装的库放这里。比如PCL库,一般推荐放在这里
/usr/local/include

#整个系统的include路径,大家都会用的放这里,比如yum自动安装C++的时候,它的头文件就在这里      
/usr/include             

 

如何修改gcc、g++默认include路径?

  • 方法一:通过命令行添加
g++ -I/home --I/tmp main.cpp  #/home的优先级高于/tmp
  • 方法二:通过环境变量添加
#配置文件.bashrc是在/home/zss/,当前用户下,~就表示当前目录,你也可以通过指令 
locate  .bashrc

vim  ~/.bashrc

export CPLUS_INCLUDE_PATH = $CPLUS_INCLUDE_PATH:/Apollo

source ~/.bashrc
#最后需要让修改生效
  •  方法三:添加到/usr/local/include或者 /usr/include路径下

注意:

优先级排序:通过编译指定的include  > 环境变量 > /usr/local/include > /usr/include

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值