دستور ar کارش آرشیو کردن هست
یعنی مثلا
ar file.a source1.o source2.o
میاد object فایل های source 1 و source 2 رو میزاره داخل file.a
حالا این ar یکسری ورودی هم داره
-
r : محتویات قدیمی رو با محتویات جدید جایگزین می کنه (مخفف replace)
-
c: اگر آرشیو وجود نداشت آرشیو رو میسازه (Create)
-
u : فایل هایی که داخل آرشیو هستن رو بروز رسانی می کنه .(update)
-
s : یک جدول از ایندکس فایل های آرشیو شده میسازه linker کامپایلر gcc به این جدول نیاز داره.(symbl)
-
و چیزهای دیگه که توی این لینک هستن
داخل سوال قبلی شما از این استفاده کردید : ar rcu
که ar rcu اون جدول که لینکر نیاز داره رو نمیسازه
ranlib.exe کارش همینه index آبجکت ها رو اضافه می کنه
میتونستین بجای استفاده از ranlib بنویسید ar s یا همون خط قبلی پارامتر s رو هم پاس بدید یعنی ar rcus