Cyberman.Wu 发表于 2009-05-20 11:15

gcc能不能禁止编译器缺省的包含路径?

我知道用-I指定的路径是在前面的,但我想直接禁止掉它使用/usr/include(我用的是BSD,可能和Linux系统头文件位置不太相同;但都是GCC,结果是一样的),如果在我指定的路径中找不到就直接报错,而不是包含了一个我不希望它包含的路径。

prolj 发表于 2009-05-20 11:37

我把这几个相关选项都给你,下面的是你想要的

-Idir
  在你是用#include"file"的时候,gcc/g++会先在当前目录查找你所制定的头文件,如
果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,它会先在你所制定的目录查找,然后再按常规的顺序去找.
  对于#include<file>,gcc/g++会到-I制定的目录查找,查找不到,然后将到系统的缺省的头文件目录查找
-I-
  就是取消前一个参数的功能,所以一般在-Idir之后使用
-idirafter dir
  在-I的目录里面查找失败,讲到这个目录里面查找.
-iprefix prefix
-iwithprefix dir
  一般一起使用,当-I的目录查找失败,会到prefix+dir下查找   
-nostdinc
  使编译器不再系统缺省的头文件目录里面找头文件,一般和-I联合使用,明确限定头文件的位置   
-nostdin C++
  规定不在g++指定的标准路经中搜索,但仍在其他路径中搜索,.此选项在创libg++库
使用

Cyberman.Wu 发表于 2009-05-20 17:22

回复 #2 prolj 的帖子

谢了。-nostdinc正是我想要的。

gaozhaojun 发表于 2009-05-21 18:29

页: [1]
查看完整版本: gcc能不能禁止编译器缺省的包含路径?