1

現在、プロジェクトに外部のビルド済みライブラリを導入するために、次のように「lib」を使用しています。

lib ace_lib_static : : <name>libboost_ace-vc80-mt-sgd.lib <variant>debug <toolset>msvc <address-model>64
                <search>../lib/ACE_wrappers/lib64
                ;
lib ace_lib_static : : <name>libboost_ace-vc80-mt-s.lib <variant>release <toolset>msvc <address-model>64
                <search>../lib/ACE_wrappers/lib64
                ;

lib ace_lib_static : : <name>libboost_ace-vc80-mt-sgd-5_6_8.lib <variant>debug <toolset>msvc 
    <search>../lib/ACE_wrappers
    ;

lib ace_lib_static : : <name>libboost_ace-vc80-mt-s-5_6_8.lib <variant>release <toolset>msvc 
    <search>../lib/ACE_wrappers
    ;

project myProject
: requirements <include>.
<include>../lib/ACE_wrappers
<define>ACE_AS_STATIC_LIBS
...

プロジェクトで ace_lib_static を適切に使用するには、ブロックをプロジェクトの jamfile にコピーする必要があります。ファイル名、検索ディレクトリ、インクルード ディレクトリ、およびマクロを定義することに注意してください。これは VC 8.0 専用です。他のコンパイラのサポートを追加すると、ブロックはさらに大きくなります。

boost.build に外部のビルド済みライブラリを導入するより良い方法はありますか? 理想的には、プロジェクトの jamfile が参照できる別個の jamfile を用意し、それをプロジェクトで使用できるように数行追加する必要があります。

4

1 に答える 1

4

上記の「lib」定義を含む Jamroot という新しいファイルを任意のディレクトリに作成できます。次に、プロジェクトで次のことができます。

   use-project /ace : <location-to-that-directory> ;

   exe a : a.cpp : /ace//ace_lib_static ;

/ace//ace_lib_static を参照すると自動的にインクルードが追加されるように、../lib/ACE_wrappers を使用要件に追加することもお勧めします。

HTH、ヴォロディア

于 2009-09-19T08:58:59.303 に答える