2011-04-25 96 views
2

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

我无法弄清楚如何去做。

回答

2

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

您至少需要有问题的源文件及其包含的所有头文件(或这些文件的预编译版本)。您至少需要包含的库中的头文件,因此不需要完整的源代码树。通常打包头文件取决于你正在使用的库。通常你会得到一个“头文件+库”发行版。