2012-11-21 26 views
8

Trong một tệp cpp tôi sử dụng macro __DATE__ để lấy ngày biên dịch.buộc MS VS2010 xây dựng lại một tệp cpp trên mỗi bản dựng

Nó cung cấp cho tôi ngày biên dịch cuối cùng của tệp đó. Nhưng khi tập tin không được thay đổi thường xuyên, ngày tháng là cũ trong nhiều trường hợp, đôi khi vài tháng.

Điều tôi thực sự muốn là ngày xây dựng lần cuối của dự án.

Có cài đặt nào để buộc VS2010 xây dựng lại tệp cpp đơn trên mọi biên dịch của dự án không? Bất kể thay đổi nào trong tệp?

Cách duy nhất tôi tìm thấy cho đến bây giờ là sửa đổi tệp hoặc xóa tệp obj được tạo bởi tập lệnh trước khi tạo, tôi muốn có giải pháp bên trong VS nếu có thể.

Trả lời

12

Bạn có thể thêm Pre-Build Step rằng touch (xem thread) tệp này?

Để thêm Pre-Build Step, hãy mở Project Properties, sau đó Configuration Properties > Build Events > Pre-Build Event sau đó thêm dòng lệnh bạn muốn thực hiện trong Command Line.

Theo đề xuất từ ​​Amitd, rõ ràng bạn cũng có thể touch tệp bằng PowerShell, xem this để được giải thích.

Theo đề xuất của Adrian McCarthy trong các nhận xét bên dưới, việc xóa tệp .obj sẽ thích hợp hơn trong bối cảnh kiểm soát nguồn được sử dụng và bạn muốn giữ lại .cppread-only. Sử dụng "macro" được hiển thị bởi Visual Studio, việc xóa chúng có thể được thực hiện dễ dàng:

del $(TargetDir)sourcefile.obj 

Trích dẫn từ Chúc mừng và hth. - Alf như một cách khác để đạt được điều này

nmake (bundled with Visual Studio and the SDK) option /t does a touch, it was once the conventional way to do this for Windows programmers. 
+2

Hoặc, trước khi xây dựng của bạn bước chỉ có thể xóa các tập tin obj ... – Liam

+0

này có lẽ sẽ phức tạp hơn một chút như, tùy thuộc vào cấu hình của bạn, .obj có thể được sản xuất tại các địa điểm khác nhau – emartel

+0

Không có liên lạc trên cửa sổ, nhưng câu trả lời của bạn và google đã dẫn tôi đến thực tế là "copy/b Source + ,," có tác dụng tương tự trong các cửa sổ, vì vậy mà nên làm việc. – MacGucky

Các vấn đề liên quan