libclang で利用可能なフロントエンドを使用して、C コードの単純な構文チェッカーを作成しようとしています。展開上の問題により、libclang 内のすべてのライブラリを静的にリンクできる必要があり、すべてのライブラリを含む .so ファイルを渡さないようにする必要があります。
ソースからclang/llvmを構築しています.llvm/Release + Asserts / libには、使用できるはずの.aファイルがたくさんありますが、動作していないようです(リンカは何千もの.シンボルの欠落に関するエラー)。ただし、libclang.so を使用してコンパイルすると、次のようにそのディレクトリにも存在します。
clang main.c -o bin/dlc -I../llvm/tools/clang/include -L../llvm/Release+Asserts/lib/ -lclang
すべてがうまくいくようです。
これを機能させるために含める必要がある .a ファイルの最小セットは何ですか? ビルド出力ディレクトリに絶対にすべての .a ファイルを含めようとしましたが、それらは異なる順序で clang/gcc に提供されましたが、成功しませんでした。libclang の Index.h に記載されている関数だけが必要ですが、さまざまな libclang*.a ファイルの目的に関するリソースやドキュメントはないようです。libclang.so が取り込むファイルを知っておくと非常に役立ちます。