禁用在 clang 前端查找预编译的头文件

Posted

技术标签:

【中文标题】禁用在 clang 前端查找预编译的头文件【英文标题】:Disable looking for pre-compiled header file in clang front-end 【发布时间】:2017-12-01 07:12:12 【问题描述】:

我使用 clang lib-tooling 和 RecursiveAStVisitor 创建了一个 C++ 前端。

我使用预先生成的 compile_commands.json 文件来加载编译数据库。 有时源文件的编译命令包含-include <file.h> 编译器参数。对于哪个 clang 尝试查找对应的预编译头文件。如果 PCH 文件不存在,clang 将中止源文件的编译。

有没有办法禁用这种行为?这样如果没有找到 PCH 文件,clang 应该以正常方式继续编译。

提前致谢。

【问题讨论】:

使用视觉工作室?? 没有。在 Linux 上使用命令行。 我得到这个错误是特定的“错误:在目录 中找不到合适的预编译头文件” 【参考方案1】:

我知道 Visual Studio 的解决方案,但问题很可能是相同的。 您应该为该文件生成一个预编译的头文件。看看这个:

Precompiled headers with GCC

还可以深入了解预编译的标头: Using Precompiled Headers

不是确切的解决方案,但可以指导您获得解决方案

【讨论】:

以上是关于禁用在 clang 前端查找预编译的头文件的主要内容,如果未能解决你的问题,请参考以下文章

查找预编译头文件时跳过

VS 总是寻找预编译的头文件

浅谈VC++中预编译的头文件放那里的问题分析

在 ifdef 中包含预编译的头文件

预编译的头文件,重新包含文件和 Intellisense

使用预编译头提高编译速度