gcc是否递归搜索CPATH?

时间:2015-06-20 01:45:12

标签: gcc include

在Linux系统上,gcc是否递归搜索CPATH环境变量中声明的路径,还是需要明确指定每个Includes子目录?

1 个答案:

答案 0 :(得分:2)

CPATH指定要搜索的目录列表。编译器正好搜索那些目录,而不是任何子目录(因此不进行递归搜索)。也就是说,给定来自#include "somedir/header.h"的名称,它将查看通过-I-isystem指定的目录并通过CPATH指定,并将/somedir/header.h添加到每个目录中这些条目 - 这就是全部。

这是合理的。如果它进行了递归搜索,您必须担心<time.h>等文件的订单正确(因为还有<sys/time.h>,并且可能通过递归搜索找到它。)