2009-11-05 29 views
5

Tôi đã bắt đầu sử dụng XCode và có vẻ như nó hoạt động tốt, hầu hết trong số đó.làm thế nào tôi có thể sửa chữa xcode biên dịch mọi thứ mọi lúc?

Điều gây phiền nhiễu là nó biên dịch tất cả các tệp nguồn, ngay cả những tệp không thay đổi, mỗi lần.

Tôi nhận được sự kìm kẹp với openframeworks và tôi lãng phí thời gian biên dịch các tệp nguồn openframeworks mỗi lần mặc dù chúng không thay đổi.

Dưới đây là IDE và máy tính của tôi chi tiết:

XCode Version 3.1.2 phiên bản phần Xcode IDE: 1149,0 Xcode Core: 1148,0 ToolSupport: 1102,0

Mac OS X Phiên bản 10.5. 6

Có ai gặp vấn đề tương tự không? Bất kỳ cách giải quyết nào?

+0

Thêm câu hỏi lập trình này. – ChrisF

Trả lời

3

Nhiều hệ thống xây dựng (nhiều nhất) sử dụng ngày và giờ sửa đổi cuối cùng của tệp để xác định xem có cần thực hiện biên dịch lại hay không. Trước tiên, tôi sẽ xác minh rằng các ngày tệp đang hoạt động như mong đợi; nếu các tệp trên ổ đĩa mạng, ví dụ, có thể có các cài đặt thời gian khác nhau hoặc sự khác biệt về đồng hồ khiến cho các tệp đó bị sửa đổi trong tương lai, vì vậy hệ thống xây dựng luôn biên dịch chúng. Đối với vấn đề đó, nếu chúng ở trên ổ đĩa mạng, giao thức được sử dụng có thể không bao gồm ngày sửa đổi và hệ thống chỉ mặc định là "bây giờ", vì vậy nó luôn giống như mọi tệp đã được sửa đổi.

+0

Cảm ơn qid, đó dường như là vấn đề! Không biết tại sao nó đã không vượt qua tâm trí của tôi. –

0

Trải nghiệm của tôi là nó biên dịch lại nội dung đã thay đổi và nội dung phụ thuộc vào nội dung đã thay đổi. Vì vậy, nếu bạn đang chỉnh sửa một tập tin .h được #import 'd vào tất cả các tập tin khác, sau đó tự nhiên mọi thứ sẽ cần phải được biên dịch lại. Tuy nhiên, nếu bạn chỉ chỉnh sửa tệp .m, thì chỉ có .m nên được biên dịch lại. Tôi không biết về bất kỳ cài đặt Xcode nào có thể thay đổi hành vi này.

9

Bạn đã lưu một số tệp, sau đó hệ điều hành đã đồng bộ hóa thời gian hệ thống của bạn ngược. Các tệp đó hiện được phát hiện sẽ được sửa đổi trong tương lai. Bạn nên thực thi lệnh bash sau trong thư mục chính của dự án:

find . -exec touch {} \; 
+1

'touch' kann được sử dụng với nhiều tệp, vì vậy' + 'thay vì' \; 'cũng sẽ hoạt động. – kay

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