3

コードで使用しているサードパーティ ライブラリのソースとオブジェクトがあります。ライブラリには、CMAKE を使用してコンパイルし、すべての依存関係を処理するメイク ファイルを生成する方法に関する説明が付属しています。この make ファイルは、コードの stuff.cpp にリンクされている 2 つの共有ライブラリ libA.so と libB.so を作成します。

独立して実行するために必要なすべての情報を内部に含む単一のライブラリ libstuff.so を作成したいと思います。libA.so と libB.so の構築に必要なすべての依存関係を把握せずにそれを行う方法はありますか? 私の最後の手段は、CMAKE のものを渡して、他のプロジェクトのすべての依存関係を学習して独自の Makefile を作成することですが、可能であればそれを避けたいと思います。(Make の専門家ではなく、今まで CMake を使用したことがありません。)

よろしくお願いします。

4

1 に答える 1

0

libA.soこれらのとlibB.soをスタティック ライブラリ (アーカイブ)、つまりlibA.aととしてビルドしlibB.a、それらを独自の にリンクする必要がありますlibstuff.so。このCMakeListsサード パーティのプロジェクトで静的としてビルドするオプションが提供されていない場合は、このオプションを自分で追加するように変更する必要がありますが、CMake の完全な初心者でない限り、それは比較的簡単です。

于 2013-04-15T00:39:43.480 に答える