2017-07-08 8 views
1

これで.aを作成する際に、既存の.aファイルをどのように含めることができますか?.aファイルを作成するときに既に作成された.aファイルを追加する方法

ar rcs libcrypt.a 

は私がlibcrypt.aファイルにまとめlibssl.alibcrypto.aファイルを追加する必要があります。これを解決するのを手伝ってもらえますか?

+0

おそらく 'ar rcs libcrypt.a libssl.a libcrypto.a'ですか? – geza

+0

@geza:おそらくそうではありません。あなたのコマンドが実行されている間、 'libssl.a'と' libcrypto.a'ファイルを(新しい) 'libcrypt.a'アーカイブに入れます。これで多くはうまくいくが、リンカは '.o'ファイルを探し、ライブラリの' .a'ファイルを完成させないだろう。 'libcrypt.a'にはシンボルはありません。オブジェクトファイルをオブジェクトファイルとして追加する必要があります。 (ソースコードやその他のファイルをアーカイブに保存することもできますが、実際にはそういう人はほとんどいませんが、もともとはarプログラムの意図された使用でした) –

答えて

1

man arは、アーカイブから すべてのメンバーを抽出する方法と、メンバー をアーカイブに挿入する方法を説明しています。

のでlibssl.alibcrypto.a からすべてのメンバーを抽出し、libcrypt.aにそれらのすべてを挿入し、空のディレクトリに解凍 を行うために世話をして。

$ mkdir scrap 
$ cd scrap 
$ ar -x ../libssl.a 
$ ar -x ../libcrypto.a 
$ ar rcs ../libcrypt.a * 
$ cd .. 
$ rm -r scrap/ 
+0

1ライナーは、ファイル)をカレントディレクトリに作成します。したがって、サブディレクトリを使用するバリアントははるかにクリーンです。 –

+0

ありがとう...私は今それを得ました........ –

+0

@JonathanLefflerまあまあです。残骸を考慮しなかった。 –

関連する問題