如何查看和修改gcc/g++默认include路径
- 2015-06-21 21:31:00
- admin
- 原创 10151
一、如何查看gcc/g++默认include路径
安装gcc:yum install gcc
安装g++:yum install gcc-c++
gcc/g++参考手册:https://gcc.gnu.org/onlinedocs/gcc-4.8.4/gcc/Invoking-GCC.html#Invoking-GCC
1、查看gcc的include路径命令:
`gcc -print-prog-name=cc1` -v
`g++ -print-prog-name=cc1` -v
2、查看g++的include路径命令:
`gcc -print-prog-name=cc1plus` -v
`g++ -print-prog-name=cc1plus` -v
CentOS release 6.4 (Final)下面执行:
[root@ebs-19233 ~]# `gcc -print-prog-name=cc1` -v
忽略不存在的目录“/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include-fixed”
忽略不存在的目录“/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../x86_64-redhat-linux/include”
#include "..." 搜索从这里开始:
#include <...> 搜索从这里开始:
/tmp
/usr/local/include
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include
/usr/include
搜索列表结束。
CentOS release 6.4 (Final)下面执行:
[root@ebs-19233 ~]# `gcc -print-prog-name=cc1plus` -v
忽略不存在的目录“/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include-fixed”
忽略不存在的目录“/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../x86_64-redhat-linux/include”
#include "..." 搜索从这里开始:
#include <...> 搜索从这里开始:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/x86_64-redhat-linux
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/backward
/usr/local/include
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include
/usr/include
搜索列表结束。
即默认include路径如下,可以看出/usr/local/include的优先级高于/usr/include:
/usr/include/c++/4.4.7
/usr/include/c++/4.4.7/x86_64-redhat-linux
/usr/include/c++/4.4.7/backward
/usr/local/include
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include
/usr/include
二、如何添加gcc/g++默认include路径(用户添加的路径优先级最高)
方法1:通过环境变量添加
对于C语言:
C_INCLUDE_PATH=/usr/include:/usr/local/include:/tmp
export C_INCLUDE_PATH
对于C++语言:
CPLUS_INCLUDE_PATH=/usr/include:/usr/local/include:/tmp
export CPLUS_INCLUDE_PATH
CPATH环境变量同时支持C语言和C++语言,并且优先级高于以上2个环境变量。
方法2:通过命令行添加
使用命令行添加,home优先于tmp:
gcc -I/home -I/tmp main.c
g++ -I/home -I/tmp main.cpp