1

オブジェクト ファイルのセットが与えられた場合、CMake で静的ライブラリをどのように構築しますか?

autotools を使用すると、

libXXX.a: $(OBJFILES)
    $(AR) cru $@ $(OBJFILES)
    $(RANLIB) $@

OBJFILES は、オブジェクト ファイルのリストです。

CMake でそれを行う方法は?

編集: 元の cxx ファイルを再コンパイルできません。オブジェクト ファイル (*.o) を使用してライブラリを作成する必要があります。

4

2 に答える 2

3

次のようなカスタムコマンドを追加します。

add_custom_command(OUTPUT libXXX.a COMMAND ${AR} cru ${OBJFILES} ).

必要に応じて、 add_custom_targetadd_dependenciesを使用して、libXXX.aを特定のターゲットに追加したり、依存関係をカスタマイズしたりできます。

于 2012-01-18T10:45:17.917 に答える
1

add_libraryで使用CMakeLists.txt:

add_library(XXX STATIC foo.c bar.cc baz.cxx)
于 2012-01-18T01:12:09.257 に答える