静的ライブラリから静的ライブラリを生成する方法
初めて質問させていただきます。
複数の静的リンクライブラリをまとめて、
一つの静的リンクライブラリを作成できずに困っています。
以下の様な構造のディレクトリがあります。
MAINDIR
├SUBDIR_A
├SUBDIR_B
└SUBDIR_C
まず、それぞれのサブディレクトリ(SUBDIR_A, SUBDIR_B, SUBDIR_C)
で、個別に静的ライブラリ(SUB_A.a, SUB_B.a, SUB_C.a)を
作成しました。コマンドはgccでコンパイル後に"ar rv" です。
最後にMAINDIRで、各サブディレクトリで作った静的ライブラリ
(SUB_A.a, SUB_B.a, SUB_C.a)から一つの静的ライブラリ(MAINLIB.a)
を以下のコマンドで作りました。
ar rv MAINLIB.a SUB_A.a, SUB_B.a, SUB_C.a
しかし、作成したMAINLIB.aから実行ファイルを作ろうとすると、
"ould not read symbols: Archive has no index; run ranlib to add"
というエラーメッセージが出て失敗しました。
複数の静的ライブラリをまとめた一つの共有ライブラリを作れたので、
複数静的ライブラリ→1つの静的ライブラリも作れると思ったのですが。。。
御存知の方がいらっしゃいましたら、お助けください。お願いします。
お礼
link editorで調べたら、 About ld Link-editor for object files. という文言を見つけました。 link-editorが正式?(というものはないのかもしれませんが)のようですね ありがとうございます