【发布时间】:2015-09-06 02:30:44
【问题描述】:
在 Linux 系统上,gcc 是递归搜索 CPATH 环境变量中声明的路径,还是需要明确指定每个 Includes 子目录?
【问题讨论】:
在 Linux 系统上,gcc 是递归搜索 CPATH 环境变量中声明的路径,还是需要明确指定每个 Includes 子目录?
【问题讨论】:
CPATH 指定要搜索的目录列表。编译器准确搜索这些目录,而不是任何子目录(因此没有递归搜索)。也就是说,给定一个来自#include "somedir/header.h" 的名称,它将查找通过-I 和-isystem 指定并通过CPATH 指定的目录,并将/somedir/header.h 添加到每个条目中——仅此而已。
这是合理的。如果它进行递归搜索,您将不得不担心为诸如<time.h> 之类的文件获取正确的顺序(因为还有<sys/time.h>,它可能通过递归搜索找到)。
【讨论】: