実際には可能です。おそらく最近変更されました --output
オプションが必要です。
あなたの例では:
ar x libclsr11.a --output tmp
解決策は ar
のバージョンによって異なります . ar --version
を使用できます ar
のバージョンを表示する
バージョン 2.34 より前の ar / GNU binutils の場合:
残念ながら、バージョン 2.34 より前の ar には、ファイルを抽出するディレクトリを指定する方法がありません。 (少なくとも私は見つけることができませんでした。) 常に現在のディレクトリを使用します。ただし、簡単な回避策があります:抽出前にターゲット ディレクトリに移動します。 代わりにアーカイブへの相対パスを使用してください:
# cd ./tmp/
# ar x ../libclsr11.a
このようにして、最終的に ./tmp/ ディレクトリ内に clsrcact.o、clsrcclu.o、および clsrccss.o が作成されます。
ar / GNU binutils バージョン 2.34 以降の場合:
binutils のバージョン 2.34 で --output
が導入されました ar
の場合 プログラム。 (変更ログを参照してください。) コンテンツを抽出するディレクトリを指定するために使用できます:
# ar x --output tmp libclsr11.a
そうすれば、アーカイブの内容は tmp
の中に収まります 以前の ar
の回避策を使用せずにディレクトリ バージョン。