gcc:如何忽略标准包含路径?

gcc:如何忽略标准包含路径?,gcc,Gcc,我需要使用标准库标题的修改版本编译一些文件。通过Visual C++编译器,我将使用/x(忽略标准包含路径)和/i(附加目录)参数来实现这一点。如何使用gcc实现这一点 gcc -nostdinc -I/custom/include/path/goes/here -nosdinc忽略标准C包含目录 -NoSTDCIM++< 忽略标准C++包含目录 如果您只将“代码> -i”/代码>添加到命令行中,您将看到(特别是如果您还添加 -V>代码>),GCC将首先查看这些文件夹,然后再查看其他文件夹。

我需要使用标准库标题的修改版本编译一些文件。通过Visual C++编译器,我将使用/x(忽略标准包含路径)和/i(附加目录)参数来实现这一点。如何使用gcc实现这一点

gcc -nostdinc -I/custom/include/path/goes/here
-nosdinc
忽略标准C包含目录

<代码> -NoSTDCIM++< <代码>忽略标准C++包含目录

如果您只将“代码> -i”/代码>添加到命令行中,您将看到(特别是如果您还添加<代码> -V>代码>),GCC将首先查看这些文件夹,然后再查看其他文件夹。因此,您不需要添加
--nostinc
)来使用替代STL库

以这种方式使用STLPort:


g++-I到stlport的路径include main.cpp-L到stlport lib-lstlport的路径

,但在某些情况下,最好不要有标准的include路径,因此在缺少替换的情况下,将不包括标准头,而不是我用于替换的头。从我的观点来看,在这种情况下出现编译错误比混淆成功编译单元的行为要好得多。gcc的一些文档:没有直接关系,但有没有办法将最低优先级赋予标准包含?@Ramesh-X使用
-I
指定的任何内容都应自动优先于标准包含,IIRC