私はクローズド ソース ライブラリ (Activ Financial による) を使用しています。このライブラリには、ブースト ヘッダー ファイルとブースト ライブラリ ファイルの両方が含まれる API が含まれています。
既存のコードベースでも Boost を使用しており、既存のコードから Activ を使用する必要があります。
いくつかのポイント
- Activ の使用をカプセル化して、Activ 部分全体が、Activ のヘッダーを一切公開しない、私が作成した単一のクラスになるようにすることができます。
- この単一のヘッダー ファイルはブーストを何も使用しません
- このようにして、コードの Activ 部分が Activ の Boost HPP ファイルを使用し、コードが Boost の HPP ファイルを使用するようにすることができます。
私の心配は、リンクすることです。Activ に依存するコードが Activ の Boost にリンクし、他のコードが自分の Boost にリンクしていることを確認するにはどうすればよいですか?
私は現在g ++を使用していますが、VS2008でもこれを行う予定です。以前は VS2008 で動作していましたが、すべてがどのようにリンクされているかわかりません。それが正しく行われていることを確認したいと思います。
動的ライブラリに Activ パーツをさらにカプセル化せずにそれを行う方法はありますか?
編集:
1 つには、私の最終製品は常に実行可能ファイルです。2 つ目は、自分自身を後押しするために静的にリンクすることです。Activ ライブラリには、Boost オブジェクト ライブラリの静的バージョンと動的バージョンの両方が含まれており、静的にリンクする予定です。
異なるブースト バージョンを使用するコード間で Boost オブジェクトを渡すことはありません。
問題は、1 つの cpp または.o
ファイルを1 つのライブラリ ファイル内のオブジェクトにリンクしてから、他のファイルが別のライブラリ ファイル.o
内の同一のオブジェクトにリンクされるようにする方法です。これは可能ですか?