複数のプロジェクトについて


CCTはリンクされているかどうかが不明でも生成することができます。

しかし、スクリプトにより複数のプロジェクトが自動的に生成される場合、スクリプトがリンクを考慮していることが重要です。

各コンパイラには通常リンクしたバイナリを生成する方法があります。例えば、GCCで実行可能ファイルを生成するには以下のコマンドを使用します。

gcc foo.c -o myapplication 

gcc を処理するフィルタはパラメータ myapplication を使用する -o フラグ、set_output 関数の呼出しを理解している必要があります。

ほとんどのコンパイラはこのオプションを使用するため、visit_o 関数内の QAVisitor ベースクラスで実行されます。

あるいは、リンカプロセスは検知したうえで処理することもできます。 しかし、この方法は複雑であり、用意されているGNUフィルタとは違うルートをとります。

どちらのソリューションが使用されても、ビルドシステムのライブラリのすべての使用に対応するため、ライブラリアンを処理するためのフィルタを追加する必要があります。

スクリプトは set_output を呼出し、さらに当該ライブラリのオブジェクトファイルがなんであったかの追跡を保持するため、add_object も呼出す必要があります。

ar_filter.py および、 mslink_filter.py などの既存のフィルタを精査してください。