c++ - 将 Clang -fsyntax-only 模式与静态库一起使用?

标签 c++ clang

我正在使用 libclang 库来构建自动完成功能。 libclang 在内部自动设置 -fsyntax-only 标志。 libclang 似乎需要整个源代码树才能工作(或 .pch 文件)。我想要的是只传递单个源文件和包含它所依赖的所有代码的预编译库(.a 或 .so)?

我不知道该怎么做。

最佳答案

如果您使用-fsyntax-only,您将要求 clang 仅检查源文件及其包含的文件的内容。它甚至不生成目标文件,更不用说 require 和库(静态或共享)。

您至少需要相关源文件及其包含的所有头文件(或这些文件的预编译版本)。您至少需要包含的库中的头文件,不需要完整的源代码树。头文件的打包方式通常取决于您使用的库。您经常会得到“ header +库”发行版。

关于c++ - 将 Clang -fsyntax-only 模式与静态库一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5780745/

相关文章:

c++ - 为什么 -O2 或更大的 clang 优化会破坏此代码?

linux - 使用 '-sanitizer-coverage-prune-blocks=0' 运行 honggfuzz 错误

clang - 如何使用LLVM/Clang+GCC为MSP430定义中断服务程序?

c++ - clang::HeaderSearch 搜索路径被忽略

c++ - C++ 标准是否对 vector 赋值函数或构造函数有明确的要求?

c++ - 如何访问 HashMap 中键的值

c++ - gcc-4.8无法编译测试程序?

c++ - 在C++/Qt中填充QSharedPointer <T>集合

c++ - 从多个线程写入静态数据实际上安全吗

c++ - 在 C++ 中使用 Bison 和 Flex 检测 if 语句的条件