包含在libclang标题中
我在查看libclang headers here(),在中我注意到几乎所有的头都有导入,如中所示包含在libclang标题中,c,clang,libclang,C,Clang,Libclang,我在查看libclang headers here(),在中我注意到几乎所有的头都有导入,如中所示 #include "clang-c/Platform.h" // in CXString.h // in Index.h #include "clang-c/Platform.h" #include "clang-c/CXString.h" 我不明白为什么这些头的前缀是clang-c/,因为它们都在同一个目录中,不是应该是/Platform.h/CXString.h,同样的。如果为了论证起见,
#include "clang-c/Platform.h" // in CXString.h
// in Index.h
#include "clang-c/Platform.h"
#include "clang-c/CXString.h"
我不明白为什么这些头的前缀是
clang-c/
,因为它们都在同一个目录中,不是应该是/Platform.h
/CXString.h
,同样的。如果为了论证起见,头最终安装在/usr/local/include/clang-c
目录中,然后,命令行选项-I/usr/local/include
将确保找到#include“clang-c/Platform.h”
。如果未指定子目录,则必须在命令行上有-I/usr/local/include/clang-c
。它还提供分区和分离;clang-c/Platform.h
与任何其他包中的文件Platform.h
分开
请注意,诸如
之类的头使用此方案,但所讨论的sys
是O/S,头可以在/usr/include/sys
中找到(但您不必在编译器命令行上指定-I/usr/include/sys
,因为预处理器默认情况下已经在/usr/include
中搜索)。如果未指定子目录,则必须在命令行上有-I/usr/local/include/clang-c
。它还提供分区和分离;clang-c/Platform.h
与任何其他包中的文件Platform.h
分开
请注意,诸如
之类的头使用此方案,但所讨论的sys
是O/S,头可以在/usr/include/sys
中找到(但您不必在编译器命令行上指定-I/usr/include/sys
,因为预处理器默认情况下已经在/usr/include
中搜索)。如果未指定子目录,则必须在命令行上有-I/usr/local/include/clang-c
。它还提供分区和分离;clang-c/Platform.h
与任何其他包中的文件Platform.h
分开
请注意,诸如
之类的头使用此方案,但所讨论的sys
是O/S,头可以在/usr/include/sys
中找到(但您不必在编译器命令行上指定-I/usr/include/sys
,因为预处理器默认情况下已经在/usr/include
中搜索)。如果未指定子目录,则必须在命令行上有-I/usr/local/include/clang-c
。它还提供分区和分离;clang-c/Platform.h
与任何其他包中的文件Platform.h
分开
请注意,诸如
之类的头使用此方案,但所讨论的sys
是O/S,头可以在/usr/include/sys
中找到(但您不必在编译器命令行上指定-I/usr/include/sys
,因为预处理器默认情况下已经在/usr/include
中搜索).分区和分离,谢谢你的解释。分区和分离,谢谢你的解释。分区和分离,谢谢你的解释。分区和分离,谢谢你的解释。