Chúng tôi hiện đang sử dụng một công cụ dòng lệnh đơn lẻ để xây dựng sản phẩm của chúng tôi trên cả Windows và Linux.Làm cách nào để hợp nhất nhiều tệp PDB?
Si xa các tác phẩm của nó một cách độc đáo, cho phép chúng tôi xây dựng nguồn và phụ thuộc tốt hơn so với bất kỳ hệ thống xây dựng nào trước đây của chúng tôi cho phép. Điều này giúp chúng tôi tăng khả năng xây dựng gia tăng và song song.
Để mô tả một thời gian ngắn quá trình xây dựng, chúng tôi nhận được thông thường:
.cpp -- cl.exe --> .obj and .pdb
multiple .obj and .pdb -- cl.exe --> single .dll .lib .pdb
multiple .obj and .pdb -- cl.exe --> single .exe .pdb
MSVC C/C++ biên dịch hỗ trợ nó đầy đủ.
Gần đây, cần phải xây dựng một vài thư viện tĩnh xuất hiện. Từ những gì chúng tôi thu thập được, quá trình xây dựng một thư viện tĩnh là:
multiple .cpp -- cl.exe --> multiple .obj and a single .pdb
multiple .obj -- lib.exe --> a single .lib
Các PDB đơn có nghĩa là cl.exe
chỉ nên được thực hiện một lần cho tất cả các nguồn cpp. Việc thực thi đơn này có nghĩa là chúng ta không thể song song việc xây dựng cho thư viện tĩnh này. Điều này thực sự không may.
Chúng tôi điều tra một chút nữa và theo các tài liệu (và các tùy chọn dòng lệnh có sẵn):
cl.exe
không biết làm thế nào để xây dựng thư viện tĩnhlib.exe
không biết làm thế nào để xây dựng PDB tệp
Có ai biết cách hợp nhất nhiều tệp PDB không? Chúng ta có phải chịu số lần xây dựng chậm cho các thư viện tĩnh không? Các công cụ như Incredibuild hoạt động như thế nào xung quanh vấn đề này?
Bạn luôn có thể đặt mã của mình trên ổ đĩa trạng thái rắn. Các bản dựng sẽ nhanh như chớp. –
Tôi đang ở trên một ổ đĩa trạng thái rắn trên phong cách của tôi. Nó giúp, nhưng liên kết là IO bị ràng buộc, biên dịch là CPU bị ràng buộc. –