Tôi có một dự án sử dụng 3-4 thư viện C / C ++ mã nguồn mở khác nhau.
Tôi đã xây dựng các thư viện này cho một số nền tảng và đăng ký bao gồm các tệp và lib tĩnh cho các nền tảng khác nhau trong dự án của tôi.
Tuy nhiên, tôi đấu tranh với một vài vấn đề. Tất cả các dự án này là xung quanh quản lý phụ thuộc. Và tôi đang tìm kiếm lời khuyên thực hành tốt nhất.
1) Làm thế nào để tôi biết chính xác những gì tôi sử dụng?
Tôi không có cách nào để có được một phiên bản lib tĩnh. Kết quả là, tôi cần theo dõi bằng cách nào đó phiên bản của lib tĩnh tôi đang sử dụng (có thể là SHA của một cam kết mà nó được xây dựng)?
Điều này đặc biệt quan trọng khi tôi cần tìm ra khi nào cần nâng cấp các lib này.
2) Làm thế nào để tôi tái tạo bản dựng?
Tôi có thể đã vật lộn để xây dựng một số thư viện cụ thể cho một nền tảng cụ thể. Tôi phải mất một lúc để tìm ra nó.
Lần sau khi tôi cần xây dựng cùng một thư viện có thể là trong nửa năm nữa (khi đó tôi sẽ cần nâng cấp vì bất kỳ lý do gì. Tuy nhiên, vào lúc đó, tôi chắc chắn sẽ không nhớ bất cứ điều gì và môi trường mà nó được xây dựng sẽ còn lâu
3) Tôi có nên rẽ nhánh các thư viện này để có một bản sao của mã nguồn không?
Đây là một mối quan tâm ít hơn. Tuy nhiên, nó vẫn là một mối quan tâm. Thật tuyệt khi đảm bảo rằng các bản dựng có thể tái tạo (và loại yêu cầu mã nguồn).