我有多个档案文件,如下所示
folder1/libfolder1.a
folder2/libfolder2.a
folder3/libfolder3.a
所有这些库都有大量的obj文件。
我想创建所有这些库的单个存档。
ar -rcs libGlobal.a folder1/libfolder1.a folder2/libfolder2.a folder3/libfolder3.a
但它确实有效。它说我需要提取所有这些.a文件,一旦我拥有所有这些obj文件,我可以像下面这样做
ar -rcs `ls *.o`
但我不想做所有这些令人讨厌的事情。我希望有明确的解决方案,如
ar -rcs libGlobal.a `ar -x folder1/libfolder1.a` `ar -x folder2/libfolder2.a` `ar -x folder3/libfolder3.a`
我想要的解决方案与此类似,因为我在此示例中给出的文件夹结构并不那么简单。
任何帮助将不胜感激
答案 0 :(得分:0)
虽然它没有表示为单个命令,但这应该有效:
pushd folder1; ar -x libfolder1.a; popd
pushd folder2; ar -x libfolder2.a; popd
pushd folder3; ar -x libfolder3.a; popd
ar -rcs libGlobal.a folder1/*.o folder2/*.o folder3/*.o
rm folder1/*.o folder2/*.o folder3/*.o