在 Linux 系统上,gcc 是否递归搜索 CPATH 环境变量中声明的路径,还是需要显式指定每个 Includes 子目录?
最佳答案
CPATH指定要搜索的目录列表。编译器精确搜索这些目录,而不是任何子目录(因此没有递归搜索)。也就是说,给定的名称为 #include "somedir/header.h"
,它将在通过 -I
指定的目录中查找和-isystem
并通过 CPATH
指定并将添加/somedir/header.h
到每个条目 - 仅此而已。
这是合理的。如果它进行递归搜索,您就必须担心文件的顺序是否正确,例如 <time.h>
(因为还有 <sys/time.h>
并且可以通过递归搜索找到它)。
关于gcc - gcc 是否递归搜索 CPATH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30949458/