我出于教育目的探索这些库时遇到了文件 os_defines.h ,该文件在我的 MacBoook 上位于 usr/include/c++/4.2.1/bits 中。在那里我找到#include <unistd.h>
了,所以我对该文件进行了快速查找搜索,并找到了不少于 7 个该名称的文件!这些文件不是副本,并且没有一个文件位于与 os_defines.h 相同的文件夹中 - 那么究竟包含哪个文件?
我觉得我错过了一些明显的东西,但我是一个新手,如果有人能照亮我,我将不胜感激。
好吧,我们不能在 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
环境变量将目录添加到搜索路径