2

我出于教育目的探索这些库时遇到了文件 os_defines.h ,该文件在我的 MacBoook 上位于 usr/include/c++/4.2.1/bits 中。在那里我找到#include <unistd.h>了,所以我对该文件进行了快速查找搜索,并找到了不少于 7 个该名称的文件!这些文件不是副本,并且没有一个文件位于与 os_defines.h 相同的文件夹中 - 那么究竟包含哪个文件?

我觉得我错过了一些明显的东西,但我是一个新手,如果有人能照亮我,我将不胜感激。

4

1 回答 1

0

好吧,我们不能在 SE 站点上标记重复项(而且我在 Stack Overflow 上也找不到一个),假设您使用的是 GCC,我将在这里重申答案

预处理器可以告诉你它使用了什么

cpp -x c++ -v

...

   #include "..." search starts here:
   #include <...> search starts here:
    /usr/include/c++/4.4
    /usr/include/c++/4.4/i486-linux-gnu
    /usr/include/c++/4.4/backward
    /usr/local/include
    /usr/lib/gcc/i486-linux-gnu/4.4.1/include
    /usr/lib/gcc/i486-linux-gnu/4.4.1/include-fixed
    /usr/include/i486-linux-gnu
    /usr/include
   End of search list.

C_INCLUDE_PATH您可以通过设置和/或CPLUS_INCLUDE_PATH环境变量将目录添加到搜索路径

于 2016-06-23T17:31:18.417 回答