1

プロジェクトのビルドに boost-build を使用していますが、GNU make を使用してビルドされた依存関係としてライブラリを追加しました。このライブラリを手動でビルドする場合、次の単純な .xml を使用して、ブースト ビルドでプロジェクトにリンクできますJamfile

lib hts
  : 
  : <link>static <file>lib/lib.a
  :
  : <include>lib_headers 
;

が存在しない場合、ディレクトリで make を実行するように boost-build に指示する方法はlib/lib.aありますか?

4

1 に答える 1

1

Boost メーリング リストの助けを借りて、このソリューションをまとめました。まず、make を使用してライブラリをビルドするアクションを作成します。次に、「make」ターゲットを追加して、作成したばかりのアクションを使用して静的ライブラリを作成する方法を boost-build に教えます。次に、boost-build が依存し、Jamfile の残りの部分とうまく連携できるエイリアスを作成します。

path-constant lib_dir : lib ;
actions external-make
{
  cd $(lib_dir) && make
}
make lib.a : : @external-make : <location>lib_dir ;
alias hts
  : lib.a
  : <link>static
  :
  : <include>lib_headers
;

ビルドでは、このライブラリのターゲットとして「hts」を使用できます。

于 2014-03-30T22:44:09.817 に答える