【问题标题】:Includes in libclang headers包含在 libclang 头文件中
【发布时间】:2014-02-06 00:13:06
【问题描述】:

我在这里查看了 libclang 标头(http://llvm.org/svn/llvm-project/cfe/trunk/include/clang-c/),我注意到几乎所有标头都具有导入,如

#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 等等。

【问题讨论】:

    标签: c clang libclang


    【解决方案1】:

    如果头文件最终安装在/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/wait.h> 等标头使用此方案,但有问题的 sys 是 O/S,标头在 /usr/include/sys 中找到(但您不必指定 -I /usr/include/sys编译器命令行,因为默认情况下预处理器已经在 /usr/include 中搜索)。

    【讨论】:

    • 分区和分离,谢谢解释。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    相关资源
    最近更新 更多