Tôi đang cố gắng xây dựng một thư viện tĩnh lớn kết hợp hai thư viện tĩnh. Trong khoảnh khắc tôi đang sử dụng lệnh 'ar', trích xuất các đối tượng, ví dụ, từ 'aa' và 'ba' và sau đó lắp lại các đối tượng sử dụng 'ar' một lần nữa:Làm cách nào để trích xuất các tệp lib tĩnh chứa các tệp đối tượng lặp lại?
$ ar x a.a
$ ar x b.a
$ ar r merged.a *.o
Đáng tiếc là nó không được làm việc vì mục đích của tôi, vì aa có bên trong các đối tượng khác nhau với NAME TÊN. Lệnh 'ar' sẽ giải nén các đối tượng lặp lại và thay thế các đối tượng đã được trích xuất có cùng tên. Ngay cả với cùng tên, các đối tượng này có các biểu tượng khác nhau, vì vậy tôi nhận được các tham chiếu không xác định vì một số biểu tượng đang bị bỏ lỡ cùng với các tệp được thay thế.
Tôi không có quyền truy cập vào các đối tượng gốc và đã thử 'ar xP' và 'ar xv' và rất nhiều 'nội dung'. Có ai có thể giúp tôi cho thấy làm thế nào để hợp nhất các libs?
Xin cảm ơn trước.
Tuyệt vời, tôi đã có cùng một vấn đề và kịch bản này giải quyết được vấn đề. Nhưng tôi tin rằng bạn nên viết '' 'content_descripter [48:58]' '' thay vì 48:57. Trường kích thước tệp là 10 byte thay vì 9 byte theo [Wikipedia] (https://en.wikipedia.org/wiki/Ar_ (Unix)). –
Ngoài ra, nếu bạn xử lý biến thể BSD của định dạng tệp .a (ví dụ: trên Mac), tên tệp có thể là một phần của phần nội dung, như được giải thích trong [Wikipedia] (https://en.wikipedia.org/wiki/Ar_ (Unix)). Vì vậy, bạn cũng sẽ cần một logic để loại bỏ nó ra. –