我的C++编译器在哪里解析我的#includes?

gha*_*lio 15 c++

这是一个非常基本的问题.我一直在学习C++,到目前为止我只使用过标准库.我一直在包括<iostream>和没有问题的东西.现在我想使用Apache Xerces,所以我已经将它安装在我的机器上(Debian系统),并且我正在按照一个教程说明我需要包括:

#include <xercesc/sax2/SAX2XMLReader.hpp>
Run Code Online (Sandbox Code Playgroud)

但是g ++说"错误:xercesc/sax2/SAX2XMLReader.hpp:没有这样的文件或目录".在哪里看?我需要提供更多信息吗?

谢谢.

Bas*_*ard 19

使用--verbose选项:

[...]
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/i686-pc-linux-gnu/4.4.2/../../../../include/c++/4.4.2
 /usr/lib/gcc/i686-pc-linux-gnu/4.4.2/../../../../include/c++/4.4.2/i686-pc-linux-gnu
 /usr/lib/gcc/i686-pc-linux-gnu/4.4.2/../../../../include/c++/4.4.2/backward
 /usr/local/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.4.2/include
 /usr/lib/gcc/i686-pc-linux-gnu/4.4.2/include-fixed
 /usr/include
End of search list.
[...]
Run Code Online (Sandbox Code Playgroud)

您可以使用该-I选项添加搜索目录,如下所述:http://gcc.gnu.org/onlinedocs/gcc-4.4.3/gcc/Directory-Options.html#Directory-Options

您还可以使用环境变量永久更改此内容:http://gcc.gnu.org/onlinedocs/gcc-4.4.3/gcc/Environment-Variables.html#Environment-Variables
在您的情况下,您可以使用CPLUS_INCLUDE_PATH.